3

ユーザーが「完了」と入力するまで、ユーザーに整数の入力を繰り返し求めるプログラムを作成してください。「完了」と入力したら、数字の最大値と最小値を出力します。ユーザーが有効な数値以外を入力した場合は、try/except でキャッチし、適切なメッセージを表示して数値を無視します。

私はこれまでのところこれを持っていますが、最大値を比較する方法を作成する方法について混乱していますか? 私はプログラミングが初めてで、助けを求めているだけです。また、try の while の前に try と except ブロックを含めますか? そして、例外のエラー?

 largest = None
 smallest = None
 while True:
     num = raw_input("Enter a number: ")
     if num == "done" : break
       print num

 print "Maximum", largest
4

8 に答える 8

5
nums = []
while True:
  n = raw_input("Enter a number: ")
  if n == "done":
    break
  try:
    nums.append(int(n))
  except ValueError:
    print "Invalid input"

print "Min: %d" % min(nums)
print "Max: %d" % max(nums)
于 2013-01-24T02:46:49.830 に答える
3
largest = None
smallest = None
first_number = True

while True:
    num = raw_input("Enter a number: ")
    if num == "done" : break

    try:
        num = int(num)
        if first_number:
            largest = num
            smallest = num
            first_number = False
        else:
            largest = max(largest, num)
            smallest = min(smallest, num)
    except Exception, e:
        print "Not Valid Input!!!"
        continue

print "Maximum", largest
print "Minimum", smallest
于 2013-01-24T02:47:42.580 に答える
0
largest = None
smallest = None

while True:
num = raw_input('Enter a number: ')

if num == 'done':
    print 'Maximum is %s' % largest
    print 'Minimum is %s' % smallest
    break

try:
    num = int(num)

    if smallest is None or num <= smallest:
        smallest = num

    if largest is None or num >= largest:
        largest = num

except:
    print 'Invalid input'
于 2015-03-09T16:05:15.650 に答える
0
numbers =[]
while True:
     num = raw_input("Enter a number: ")
     if num == "done" :
         break
     else:
         numbers.append(num)

print max(numbers)
print min(numbers)

したがって、ロジックはリストに数値を追加し、関数 max と min を使用することです。例外を処理するコードを自分で書くことができます。

于 2013-01-24T02:47:29.917 に答える
-1

単一の値に割り当てることによりnum、ループの反復ごとに上書きされます。代わりにリストを使用してください。

num = []
finish = "n"
while finish.lower() == "n"
    try:
        num.append(int(raw_input("Enter a number: ")))
    except ValueError:
         print "Not a number"
    finish = raw_input("Would you like to add another number? (y/n): ")

print max(num)
于 2013-01-24T02:45:52.273 に答える