-1
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つの数字がすべての条件を満たしているかどうかをプログラムでチェックし、1つでも失敗した場合は INVALID INPUT を出力してプログラムを停止します。また、私のプログラムが入力された各数値を独自にチェックする方法がよくわかりません。先生は私を助けてくれましたが、説明はしていませんでした。プログラムは、何かを印刷する前に、数値を 5 回要求する必要があります。プログラムは、入力が 0 から 5 の間の数値であることを確認する必要があります。5 以外の桁数が入力された場合も失敗します。適切なエラー メッセージ。入力した数字が重複している可能性があります。(例: 3, 3, 3, 0, 0 が入力可能です。)

4

2 に答える 2

1

これは、Python の assert ステートメントが行うことです。

>>> x = 5
>>> try:
...     assert(x==4)
... except(AssertionError):
...     print("Error!")
... 
>>> Error!

assert 句では、真であることを強制するブール条件を述べています。そうでない場合は、except ステートメントを使用してエラーをキャッチし、そこで処理できます。

あなたの場合、次のことができます:

assert(((x <= 5) and (x >= 0)))
于 2013-10-08T20:46:11.353 に答える
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!'
于 2013-10-09T03:52:03.220 に答える