T='12a34b56c'
for i in T:
if i == 'a':
print(i,'年')
elif i == 'b':
print(i,'月')
elif i == 'c':
print(i,'日')
else:
digit=eval(i)
print(i,"奇数") if digit in [1,3,5,7,9] else print(i,"偶数")
# 将中间2个elif改为if会提示SyntaxError: unexpected EOF while parsing错误
5 回答
MyFray
TA贡献2条经验 获得超0个赞
如果两个elif改成if如果没有最后的else也是可以的,只是会增加多判断,执行完第一个if之后如果成立,仍然会运行后面的if。
但是,由于有else的存在,else只跟第三个if构成一对。
也就是说如果i是a,在第四行判断一次,是a,打印出来,第6行判断一次不是a,不执行,第8行判断一次,不成立,并执行else,else中的eval把引号剥掉了,就成了一个变量名a赋值给digit,由于事先没有定义变量a,因此报错。
添加回答
举报
0/150
提交
取消