使用if语句和python数学比较器和输入函数的建议

时间:2013-10-07 04:05:03

标签: python

程序在打印之前应该询问整数。程序必须检查输入的数字是否在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"

3 个答案:

答案 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.")

是的,上述工作但应先检查输入以确保其有效