2016-09-25 17 views
0

的最大和最小數我有兩個問題:如何顯示在python

  1. 如何顯示的最大和最小數,從用戶輸入接受5號

  2. 我如何可以驗證用戶輸入只能取數字。

這裏是我的代碼:

input_set = list() 
num = input("Enter how many elements you want:") 
print("Enter numbers in array:") 
for i in range(int(num)): 
    n = int(input("input number :")) 
    input_set.append(int(n)) 
print ("ARRAY: ", input_set) 
largest = input_set[0] 
for i in range(len(input_set)): 

    if input_set[i] > largest: 
     greatest = input_set[i] 

print("Largest number is :", greatest) 

smallest = input_set[0] 
for i in range(len(input_set)): 

    if input_set[i] < largest: 
     smallest = input_set[i] 

print("Smallest number is :", smallest) 
+2

是你的問題:*「如何顯示的最大和最小數在Python中「*或是:*」我怎樣才能驗證用戶輸入只能用數字。「*? –

+1

閱讀關於異常處理。你想用'try/except'來包裝你的'int'鑄件,這樣你可以在你傳遞一個非數字時處理這些情況。此外,@ JimFasarakis-Hilliard提出了一個很好的觀點,你的問題標題是問一個問題,並且在你的問題中你問另一個問題。請確保您的標題與您在問題中提出的問題之間保持相關性和一致性。 – idjaw

回答

1

這一個需要輸入直至用戶輸入有效的輸入

input_set = list() 
num = input("Enter how many elements you want:") 
print("Enter numbers in array:") 
for i in range(int(num)): 
    while True: 
     try: 
      n = int(input()) 
     except ValueError: 
      print("Enter a number") 
      continue 
     else: 
      break 
    input_set.append(int(n)) 
print ("ARRAY: ", input_set) 
largest = input_set[0] 
for i in range(len(input_set)): 

    if input_set[i] > largest: 
     print('greatest '+str(largest)) 
     print('current '+str(input_set[i])) 
     largest = input_set[i] 

print("Largest number is :", largest) 

smallest = input_set[0] 
for i in range(len(input_set)): 

    if input_set[i] < largest: 
     smallest = input_set[i] 

print("Smallest number is :", smallest) 
+0

而運行該代碼我已經給用戶輸入作爲 ** ARRAY:[3,45,35,67,34] ** 我的輸出被示爲: '最大數是:34 最小數目爲: 3' –

+0

再次編輯答案檢查 – XZ6H

1

下面是我可能會修改上面的代碼。這實現了兩件事情,確保輸入是數字形式,並清理查找數組中的最大/最小數字。當然,如果用戶沒有輸入數字,它會無限循環,但你總是可以爲每個循環添加一個最大值(我將它作爲讀者的練習)。

編輯: 已修復...

input_set = list() 
num = None 
while num is None: 
    ret = input("Enter how many elements you want:") 
    try: 
     num = int(ret) 
    except ValueError: 
     print ("Invalid input, please enter a digit.") 

print("Enter numbers in array:") 
for i in range(num): 
    n = None 
    while n is None: 
     ret = input("input number :") 
     try: 
      n = int(ret) 
      input_set.append(n) 
     except ValueError: 
      print ("Invalid input, please enter a digit.") 

print ("ARRAY: ", input_set) 
print ("Largest number is :", max(input_set)) 
print ("Smallest number is :", min(input_set))