【发布时间】:2015-03-07 19:05:05
【问题描述】:
我正在尝试用 Python 编写一些像钢琴一样的东西。用户输入的每个数字都会播放不同的声音。
- 系统会提示用户他们希望能够按下多少个键(迭代)。
- 他们将被提示输入声音的数字,其次数与他们为迭代输入的次数相同。每个数字都是不同的声音。
- 它将播放声音。
userNum 函数有问题。我需要他们为声音输入的所有数字附加到列表中,然后另一个函数将读取列表并相应地播放每个声音。这是我目前所拥有的:
#Gets a user input for each sound and appends to a list.
def userNum(iterations):
for i in range(iterations):
a = eval(input("Enter a number for sound: "))
myList = []
while True:
myList.append(a)
break
print(myList)
return myList
这是打印列表与我目前所拥有的代码的样子:
>>> userNum(5)
Enter a number for sound: 1
Enter a number for sound: 2
Enter a number for sound: 3
Enter a number for sound: 4
Enter a number for sound: 5
[5]
任何想法让它将每个数字附加到列表中,或者是否有更有效的方法?
【问题讨论】:
-
您在
for循环之后 创建列表,然后有一个只运行一次的while循环。为什么不在for循环之前 创建列表,并在其中创建append?另外,你应该使用int而不是eval。
标签: python list input append python-3.4