input_list = raw_input("Enter numbers separated by spaces: ")
number = input_list.split()
if len(number) == 5:
for n in number:
a = int(n)
if 0< a <=5:
print 'x'* a
elif a == 0:
print '.'
else:
print "Number does not lie in the range 0 to 5."
else:
print "Invalid Input."
我希望我的程序检查5个输入的数字是否满足所有条件,如果有一个则无法打印INVALID INPUT并停止程序。此外,我不太明白我的程序如何检查每个输入的号码,因为我的老师帮助了我,但没有解释。 在打印任何内容之前,程序应该询问该数字五次 程序必须检查输入的数字是否在0到5之间。如果输入的数字不是5,则也会失败。输入失败可以使用相应的错误消息终止程序。 输入的数字可能是重复的。 (例如,3,3,3,0,0是可接受的输入。)
答案 0 :(得分:1)
这就是Python的断言声明:
>>> x = 5
>>> try:
... assert(x==4)
... except(AssertionError):
... print("Error!")
...
>>> Error!
在assert子句中,您将声明一个强制为true的布尔条件。如果不是这样,您可以使用except语句捕获错误并在那里处理它。
在你的情况下你可以:
assert(((x <= 5) and (x >= 0)))
答案 1 :(得分:0)
number = raw_input("Enter numbers separated by spaces: ")
2 num_list = number.split()
3 for n in num_list:
4 a = 'True'
5 if int(n) <0 or int(n) >5:
6 a = 'False'
7 break
8 if (len(num_list) == 5) and a == 'True':
9 for n in num_list:
10 b = int(n)
11 if 0< b <=5:
12 print ('x'* b)
13 elif b == 0:
14 print ('.')
15 else:
16 print 'Invalid Input!'