-1

プログラムは、何かを印刷する前に整数を要求する必要があります。プログラムは、入力が 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"
4

3 に答える 3

2

あなたのプログラムは少しめちゃくちゃです..私が少し荒いなら許してください

まず、これは許可されていません:

nums[]

2番、

number = int(input) 

入力が有効な数値ではないため、無効です。

三番、

for n in number

number はリストではなく整数です!

4番目に、 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だと思います

これは、あなたの望むことですか?

于 2013-10-07T04:33:03.997 に答える
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.")

私の固定コード

于 2013-10-07T20:14:03.730 に答える