我正在为学校做一个员工薪资计划,而我在使用while循环时遇到了麻烦

时间:2017-10-31 00:42:07

标签: python-3.x

print('Tax Category: (A: No Tax, B: 10%, C: 20%, D:29%, E: 35%')
taxbracket=input('Enter A, B, C, D, E:')
while taxbracket!='A' or taxbracket!='a' or taxbracket!='B' or taxbracket!='b' or taxbracket!='C' or taxbracket!='c' or taxbracket!='D' or taxbracket!='d' or taxbracket!='E' or taxbracket!='e':
    print('Error: please enter a correct value.')
    taxbracket=input('Enter A, B, C, D, or E:')

基本上,我使用a,b,c,d和e(大写也是如此)来确定用户想要的税种(这就是作业要求我们这样做的)以及对我而言直接问我的错误,请输入正确的变量"无论我输入什么(包括:a,b,c,d,e,或A,B,C,D,E)。

1 个答案:

答案 0 :(得分:0)

问题是您要将这些语句与or相关联。如果其中一个或多个评估为True,则循环将继续,并且在您发布的示例中将始终如此,因为taxbracket不能同时为'a'和{{1} }。

更好的方法是执行以下操作,该操作也使用str.lower()

'b'