python - 在 Python 中一次在列表中添加更多值
问题描述
我是 Python 的初学者,我正在尝试解决这个问题。我正在尝试编写一个代码,您可以在其中输入您的姓名和您想捐赠的金额。问题是,根据捐赠的金额,您可以有更多的机会成为赢家。例如。如果您捐赠 10 美元(1 次机会)、20 美元(2 次机会)、30 美元(3 次机会)。我最大的问题是当这个人插入 30 美元时,我无法弄清楚如何解决这个问题,它的名字出现在列表中 3 次等等。我尝试使用“for..inrange():”但没有任何成功。有人可以解释我该怎么做吗?
from random import shuffle
from random import choice
list = []
while True:
name = str(input('Write your name: '))
donation = float(input('Enter the amount you want to donate.: $ '))
list.append(name)
print('You donated $ {}. Thank you {} for you donation!'.format(donation, name))
print('=-'*25)
print('[1] YES')
print('[2] NO')
answer = int(input('Would you like to make another donation? '))
if answer == 1:
continue
else:
shuffle(list)
winner = choice(list)
break
print('The winner was: {}' .format(winner))
解决方案
首先不要使用内置类型的名称作为(无意义的)变量名称。更改list
为entry_list
。
针对特定问题
- 计算机会的数量;
- 多次列出该人的姓名;
extend
具有重复名称列表的条目列表。
代码:
entry_list = []
while ...
...
chances = int(donation) // 10
entry_list.extend( [name] * chances )
推荐阅读
- r - 带有操作按钮的过滤表和带有串扰的第二个表
- c# - AJAX 将字符串数组发布到 webapi 2
- dotnetnuke - DNN SiteAnalytics.config(Google 跟踪代码管理器?)阻止 DNN HTML 模块的保存
- python - 浏览器源 css 文件但不应用它
- swift - (swift2) 变量在 if 语句中没有变化
- r - r闪亮的ggplot2堆叠条形图基于选定的列
- c++ - 在用户回答时声明“玩家”。用户选择多少玩家。Player 是一个结构体
- java - useDelimiter Scanner 用于重复数据
- docker - 从本地 Docker For Mac 中部署的服务访问本地 Kafka(包括 Kubernetes 扩展)
- npm - 安装 Angular CLI 离线尝试连接