python 第八题求字符串函数
问题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 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 1q23w31 于 2025-8-1 15:07 编辑
import random
y = 200
while y >= 0:
x = random.choice(["正面","反面"])
y = y-1
print(x)
正确代码如上,没有记录次数 # 注意要用大于号,不然就是201次
count = 200
while count > 0:
print(random.choice(["正面", "反面"]))
count -= 1
给我个最佳,谢谢{:10_257:}
页:
[1]