0
print("this program will calculate the area")

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

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

if width > 1000000:
    print ("please chose a number between 0-1000")
    width = int(input("enter width"))

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

area = width*height

print("The area is:",area)

たとえば、以下のコードをまとめる方法はありますか?そのため、less then ステートメントと greater then ステートメントを 2 回使用する以外は、ほぼ同じコード行を記述する必要はありません。

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

if width > 1000000:
    print ("please chose a number between 0-1000")
    width = int(input("enter width"))

私が試してみました

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

しかし、私は愛を得ることができません。

私もタイプしたくない

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

それが助けることができる場合は、2回ステートメント。

ありがとうベン

4

6 に答える 6

7

いくつかの方法があります。最も明白なのはこれです:

if width < 0 or width > 10000:

しかし、私のお気に入りはこれです:

if not 0 <= width <= 10000:
于 2013-03-07T09:34:32.547 に答える
3

ループが必要です。それ以外の場合、永続的な場合、ユーザーは無効な値を入力できます。while ステートメントは、ループと条件を組み合わせます。条件が壊れるまでループし続けます。

width = -1
while width < 0 or width > 10000:
    width = int(input("enter width as a positive integer < 10000"))

元の質問での if ステートメントの使用は、構文的に正しくありません。

if width < 0 and > 10000:

あなたがしたい:

if not (0 < width < 1000):
    ask_for_new_input()

または、より明確な方法で:

if width < 0 or width > 1000:
    ask_for_new_input()
于 2013-03-07T09:35:50.267 に答える
0

仮に:

print("this program will calculate the area")

res = raw_input("[Press any key to start]")

def get_value(name):
    msg = "enter {0}".format(name)
    pMsg = "please choose a number between 0-1000"
    val = int(input(msg))
    while val not in xrange(1, 1001):
        print pMsg
        val = int(input(msg))
    return val


print("The area is: {0}".format(get_value('width') * get_value('height')))
于 2013-03-07T09:44:32.480 に答える
0

あなたが言いたい

if width < 0 or width > 10000:
    print ("please chose a number between 0-1000")
    width = int(input("enter width"))
于 2013-03-07T09:34:23.237 に答える
0

if width < 0 and > 10000:

読むべき

if width < 0 or width > 10000:

または:

if not 0 <= width <= 10000:
于 2013-03-07T09:34:23.620 に答える
0

可変幅が恋しい

if width < 0 or width> 10000:
于 2013-03-07T09:35:34.710 に答える