现在我试图编写一个需要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