python列表同时添加多个元素_在Python中将多个元素添加到列表

1586010002-jmsa.png

I am trying to write something in Python that will be like a piano. Each number that the user enters will play a different sound.

The user is prompted for how many keys they want to be able to press (iterations).

They will be prompted for a number for a sound the same amount of times as they entered for iterations. Each number is a different sound.

It will play the sounds.

I am having trouble with the userNum function. I need all of the numbers that they enter for sounds to append to a list, and then another function will read the list and play each sound accordingly. This is what I have so far:

#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

This is what the printed list looks like with the code that I have so far:

>>> 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]

Any thoughts of a way to get it to append each number to the list, or if there is a more efficient way of doing this?

解决方案

The first thing you should do in your function is initialize an empty list. Then you can loop the correct number of times, and within the for loop you can append into myList. You should also avoid using eval and in this case simply use int to convert to an integer.

def userNum(iterations):

myList = []

for _ in range(iterations):

value = int(input("Enter a number for sound: "))

myList.append(value)

return myList

Testing

>>> userNum(5)

Enter a number for sound: 2

Enter a number for sound: 3

Enter a number for sound: 1

Enter a number for sound: 5

Enter a number for sound: 9

[2, 3, 1, 5, 9]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值