|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题1. 模拟抛硬币的实验版权属于:https://fishc.com.cn
.girjax2)E!0>#5=TCIdJ`4NlGR(7y
有一个统计学教授,在第一堂课上,给学生布置了个作业。
要求大家做一件特别乏味的工作,拿出一枚硬币,连扔200次,然后记下结果,正面还是反面,仔细记录。
回答:
import random
x = random.choice("正面", "反面")
y = 200
while y >= 0:
print(x)
x = random.randint("正面", "反面")
y = y-1
报错:
=========================== RESTART: F:/xx/第八课.py ===========================
Traceback (most recent call last):
File "F:/xx/第八课.py", line 2, in <module>
x = random.choice("正面", "反面")
TypeError: choice() takes 2 positional arguments but 3 were given
求问:应如何改正
您的代码有两个主要问题:
1. `random.choice()` 函数需要传入一个序列(如列表),而不是多个字符串参数
2. 循环次数错误(200次应该从0到199或1到200)
修正后的代码:
-
- import random
- # 方法1:使用for循环(推荐)
- for i in range(200):
- print(random.choice(["正面", "反面"]))
- # 方法2:使用while循环
- count = 200
- while count > 0:
- print(random.choice(["正面", "反面"]))
- count -= 1
复制代码
关键修正说明:
1. 将选项放入列表: ["正面", "反面"]
2. 使用 range(200) 确保循环200次
3. 每次循环都重新生成随机结果
错误原因分析:
- random.choice("正面", "反面") → 应该传入单个列表参数
- 原代码循环201次(y从200到0)
- randint() 用于生成数字,不能用于字符串选择
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|