程序在打印之前应该询问整数。程序必须检查输入的数字是否在0到5之间。如果输入的数字不是5,则也会失败。输入失败可以使用相应的错误消息终止程序。输入的数字可能是重复的。 (例如,3,3,3,0,0是可接受的输入。)基本上我需要帮助的是让程序打印出'。'。如果输入= 0。并同时要求所有5位数字。
nums[]
nums= input
number=int(input)
for n in number:
if n<0 and n>=5 and if len(n)=5:
print 'x'*n
elif n==0 and if len(n)==5:
print '.'
elif n>0 or n<5 or len(n)!=5:
print "Invalid Input"
答案 0 :(得分:2)
你的节目有点混乱..如果我有点粗暴,请原谅我
首先,这是不允许的:
nums[]
第二,
number = int(input)
无效,因为输入不是有效数字。
第三,
for n in number
number是整数,不是列表!
第四,即使数字是一个列表:
len(n) ==5:
仍然无效,因为n是整数!
试试这个:
input_list = raw_input("Enter number list: ")
try:
number=eval(input_list)
except:
number = list(input_list)
if len(number) == 5:
for n in number:
if n<0 and n>=5:
print 'x'*n
elif n==0:
print '.'
#elif n>0 or n<5: #Not needed, it will make any input invalid
# print "Invalid Input"
else:
print "Invalid Input"
执行:
>>>Enter number list: [3,3,3,0,0]
xxx
xxx
xxx
.
.
或者:
>>>Enter number list: 33300
xxx
xxx
xxx
.
.
我认为你的python版本是2.x
这是你想要的吗?
答案 1 :(得分:0)
input_list = 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.")
答案 2 :(得分:0)
input_list = 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.")
是的,上述工作但应先检查输入以确保其有效