-1
input_list = input("Enter numbers separated by spaces: ")

number = input_list.split()
for n in number:
     a = int(n)
if len(number)!=5 or number>5 or number<0 :
        print ('invalid input')
        if 0< a <=5:
            print ('x'* a)
        elif a == 0:
            print ('.')

私のプログラムは、入力された 5 桁を 1 つの数字としてチェックしていますが、プログラムで最初に 5 桁が入力されていることを確認してから、それらが 0 から 5 の間であるかどうかを確認したいのですが、プログラムは 5 桁すべてを 1 つの数字に結合します、プログラムにリストの各要素を独自にチェックさせ、何かを出力する前に、入力された数値がすべての条件を満たしているかどうか、および出力しない場合 (無効な入力) をプログラムにチェックさせて停止させたい

4

4 に答える 4

0

Python 2 で raw_input を使用します。入力は Python 3 で問題ありません。

input_list = raw_input("Enter numbers separated by spaces: ").split()
numbers = [int(n) for n in input_list if 0 <= int(n) <= 5]
if len(numbers) != 5:
    print ('invalid input')

for a in numbers:
    if a == 0:
        print ('.')
    else:
        print ('x'* a)
于 2013-10-08T20:23:10.617 に答える
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.")
Yes, the above works but is should check input first to make sure it is valid
于 2013-10-08T20:31:08.690 に答える
-1
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!'
于 2013-10-09T03:48:40.260 に答える