-1
print("this program will calculate the area")

input("[Press any key to start]")

width = int(input("enter width"))

while  width < 0 or width > 1000:
    print ("please chose a number between 0-1000")
    width = int(input("enter width"))

height = int(input("Enter Height"))

while  height < 0 or height > 1000:
    print("please chose a number between 0-1000")
    widht = int(input("Enter Height"))

area = width*height

print("The area is:",area

記載されている数字より下または上に入力するためのエラーメッセージを追加しましたが、可能であれば、ユーザーが文字を入力するか、何も入力しない場合にエラーメッセージを表示したいと思います。

4

2 に答える 2

4

次の場合を除いて、行入力行を1回の試行で折り返してみてください。

try:
 width = int(input("enter width"))
except:
 width = int(input("enter width as integer"))

以上:関数でラップします:

def size_input(message):
   try:
      ret = int(input(message))
      return ret
   except:
      return size_input("enter a number")

width = size_input("enter width")
于 2013-03-08T00:40:05.100 に答える
2

を使用してtry-exceptint()渡された引数が無効な場合に例外を発生させることができます。

def valid_input(inp):
    try:
        ret=int(inp)
        if not 0<ret<1000:
            print ("Invalid range!! Try Again")
            return None
        return ret
    except:
        print ("Invalid input!! Try Again")
        return None
while True:
    rep=valid_input(input("please chose a number between 0-1000: "))
    if rep:break
print(rep) 

出力:

please chose a number between 0-1000: abc
Invalid input!! Try Again
please chose a number between 0-1000: 1200
Invalid range!! Try Again
please chose a number between 0-1000: 123abc
Invalid input!! Try Again
please chose a number between 0-1000: 500
500
于 2013-03-08T00:42:08.267 に答える