現在我試圖編寫一個需要20個數字的程序,並且可以用這些數字執行各種任務,例如查找最小/最大整數,找到總數,平均等返回一個整數的隨機列表,Python 3.3
我有核心程序工作,但我想添加一個額外的選項,允許用戶選擇一個數字範圍,並創建一個20值的列表。據我所知,我也有正確的寫法。
我遇到的主要問題是,當我嘗試返回列表以便它可能存儲在先前定義的列表中時,它不會存儲任何值。
下面是我寫的一個用戶輸入自己的20個值的函數:
#Get Number List
def input_numbers():
print("Please enter a series of 20 numbers, pressing enter after each number.")
numList=[int(input('Enter a number: ')) for i in range(20)]
return numList
這個工程就像一個魅力,不問任何問題。
在另一方面,這是我的隨機生成的列表:
#Randomly generate 20 numbers.
import random
def randomly_generate():
number1= int(input("Please enter the lower number: "))
number2= int(input("Please enter the higher number: "))
numList=random.sample(range(number1, number2), 20)
print(numList)
return numList
爲了澄清:我只能在函數中打印,檢查隨機數發生器的工作原理,它是。它將在指定範圍內打印20個值。
但是,當我返回numList時,它不像第一個函數那樣正確存儲。這對我來說會導致問題,因爲我無法用空列表執行其他功能。
編輯:這是什麼導致的問題:我返回的值,但不重新定義numList,從而造成我的問題。
elif choice == RANDOMLY_GENERATE:
randomly_generate()
#Randomly generate 20 numbers
#Import Random
import random
def randomly_generate():
number1= int(input("Please enter the lower number: "))
number2= int(input("Please enter the higher number: "))
numList=random.sample(range(number1, number2), 20)
print(numList)
return numList
因爲它與int(eval(raw_input(x)))相同,所以使用'int(input(x))'而不是'int(raw_input(x))'是不安全的。 – 2015-03-02 21:28:05
你在哪裏試圖存儲結果?你怎麼知道它沒有正確存儲它們? – 2015-03-02 21:32:02
@DanD。不是在Python 3下,其中['raw_input'現在被稱爲'input'](http://stackoverflow.com/questions/954834/how-do-i-use-raw-input-in-python-3-1) – zehnpaard 2015-03-02 21:35:27