0

私は現在、Python プログラミングのコースを受講しており、ユーザーにプロンプ​​トを出して与えられた最大数を見つけるという課題を与えられています。これは配列で簡単に完了できますが、この割り当てには使用できません。「55、100、99」などの一連の数字を入力すると、プログラムが 99 が最大の数字であると通知するという問題が発生しています。何が問題なのかわかりません。

largest = None
smallest = None
temp = None
while temp != "done":
    num = raw_input("Enter a number: ")
    if num == "done" :
        break
    try:
        int(num)
    except:
        print ('That is not an integer. Try again')
        break
    print(largest)
    if largest is None:
        largest = num 
    if largest != None and num > largest:
        largest = num
print ('Invalid input')
print "Maximum is", largest
print "Minimum is", smallest
4

4 に答える 4

1

Change int(num) to num = int(num) to save type conversion

于 2015-07-16T21:14:30.620 に答える
1

Change:

int(num)

to:

num = int(num)

Otherwise, num will still be a string because you're not saving the result of the conversion anywhere.

于 2015-07-16T21:14:31.727 に答える
0

例外スイートで休憩する必要はないと思います。理由は、except スイートのコードの実行時にプログラムが終了するためです。つまり、 stringからintへの型変換はどこにも保存されていません。これを保存するには、これを試してください:

num= int(num) instead of just int(num)
于 2015-07-16T21:51:04.730 に答える