携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
从文件中读取数据
Eg:
输入n
n = int(input())
with open('src/Step1/test.txt') as file_object:
lines = file_object.readlines()
i=0
请在此添加代码,实现编程要求
#********** Begin *********#
for line in lines:
print(line.rstrip())
i=i+1
if i==n:
break
写入空文件
要将信息写入文本文件中,我们需要用open()方法,只不过除了将文本文件名当作参数传入函数open()中去之外,还需要再传入写参数w,
EG:1. with open('test2.txt','w') as example:
example.write('Hello world!')
异常处理:
Eg:
1.try:
print(2/0)except:print("We can't divide by zero!")
print(2/0)语句放在了try代码块中,这是一个错误语句,因为 0 不能当除数。try-except代码块的作用就是当try代码块中的程序代码运行没有错误,则跳过except代码块;反之如果try代码块中的程序代码运行出现错误,则运行except代码块中的内容,一般except代码块中的内容都是输出错误信息。
else代码块
可以在try-except代码块后面添加try代码块,当try代码块中的程序运行没有异常时,程序将运行else代码块中的内容,例如:
a = int(input())
b = int(input())
try:
answer = a/b
except:
print("We can't divide by zero!")
else:
print(answer)
逆波兰表达式(Reverse Polish notation,RPN)
逆波兰表达式又叫做后缀表达式,是一种表示表达式的方法,按此方法,可以将每一运算符都置于其运算对象之后,故称为后缀表示。
例如,中缀表达式(a+b)*c-(a+b)/e对应的的后缀表达式为ab+c*ab+e/-。
定义
一个表达式E的后缀形式可以如下定义:
-
如果
E是一个变量或常量,则E的后缀式是E本身; -
如果
E是E1 op E2形式的表达式,这里op是二元操作符,则E的后缀式为E1' E2' op,这里E1'和E2'分别为E1和E2的后缀式; -
如果
E是E1形式的表达式,则E1的后缀式就是E的后缀式。
如:我们平时写a+b,这是中缀表达式,写成后缀表达式就是:ab+(a+b)*c-(a+b)/e转化成后缀表达式的过程:
(a+b)*c-(a+b)/e
→((a+b)*c)((a+b)/e)-
→((a+b)c*)((a+b)e/)-
→(ab+c*)(ab+e/)-
→ab+c*ab+e/-栈和表示式求值
算法思想:
- 顺序扫描表达式的每一项,如果该项是操作数,则将其直接压入栈中;
- 如果该项是运算符
op,则连续从栈弹出 2 个操作数X和Y,并将X和Y关于op的运算结果入栈; - 全部处理后,栈顶元素就是最终表达式的值。