python - python中的随机数、字符串和整数
问题描述
编写python程序,生成1到10之间的3个随机数一百次。程序应在以逗号分隔的新行上显示每组 3 个数字。示例输出的格式应如下所示:
Number set 1 is: 10,7,8
Number set 2 is: 4,6,5
...
Number set 100 is: 7,3,1
我需要帮助正确显示它。
3 个随机数 100 次。
import random
mylist = [random.randint(1,11) for r in range(100)]
x = random.sample(mylist,3)
for i in range(100):
print('Number set', i + 1, 'is', x)
解决方案
问题:
这些代码行在您的循环之外。这意味着每次运行代码时数字不会是唯一的,并且对于循环的所有迭代都将保持不变。
mylist = [random.randint(1,11) for r in range(100)]
x = random.sample(mylist,3)
解决方案:
您可以将前面提到的代码行移到循环内部而不是外部:
import random
for i in range(100):
mylist = [random.randint(1,11) for r in range(100)]
x = random.sample(mylist,3)
print('Number set', i + 1, 'is', x)
或者你可以写一个更干净的解决方案:
import random
for i in range(1,101):
print(f"Number set {i} is: {random.randint(1,11)},{random.randint(1,11)},{random.randint(1,11)}")
此解决方案不是使用列表,而是打印 100 次 3 个不同随机数的格式化字符串。这将循环超过 100 次。
您也可以查看其他答案选择。
random.choices()
也是random.sample()
不错的选择。
在此处阅读有关它们的更多信息
推荐阅读
- jmeter - ASP .NET 在 Jmeter 中再次重定向到登录页面
- python - 由于 int 对象没有属性“拆分”而无法拆分
- mysql - SQL查询获取在多个日期购买并且还购买了多个产品的客户数量
- ejabberd - 如何在 ejabberd 上为 muc(多用户聊天)设置不同的消息间隔?
- python - 缺少模块的 Pyinstaller 警告
- gnome - ubuntu 20.04 xclip 目标没有图像类型
- javascript - 如何在 jquery 中获取 UL / LI 值
- list - Prolog:findall,但只保存一些解决方案
- r - case_when 输出以两个字符列为条件
- .htaccess - 如何将子站点重定向到另一个子站点