首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的随机字符串和中间层

python中的随机字符串和中间层
EN

Stack Overflow用户
提问于 2020-07-01 15:51:52
回答 6查看 143关注 0票数 1

编写python程序,在1到10100次之间生成3个随机数。程序应该在用逗号分隔的新行上显示每组3个数字。示例输出应格式化如下:

代码语言:javascript
复制
Number set 1 is: 10,7,8   
Number set 2 is: 4,6,5
...  
Number set 100 is: 7,3,1

我需要帮助正确显示它。

3随机数100次。

代码语言:javascript
复制
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)
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-07-01 15:55:46

问题是:

这些代码行在您的循环之外。这意味着,每次运行代码时,编号都不会是唯一的,并且对循环中的所有迭代都保持不变。

代码语言:javascript
复制
mylist = [random.randint(1,11) for r in range(100)]
x = random.sample(mylist,3)

解决方案:

您可以将代码中前面提到的行移动到循环中,而不是在外部:

代码语言:javascript
复制
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)

或者你可以写一个更干净的解决方案:

代码语言:javascript
复制
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)}")

与其使用列表,该解决方案将打印格式化字符串3个不同的随机数字100倍。这将循环超过100次。

你也可以看看其他答案的选择。

random.choices()random.sample()也是不错的选择。

阅读更多关于它们的这里

票数 1
EN

Stack Overflow用户

发布于 2020-07-01 15:59:56

一个更短的答案是:

代码语言:javascript
复制
import random
for x in range(100):
  print('Number set', x , 'is', random.sample(range(1, 11), 3))
票数 1
EN

Stack Overflow用户

发布于 2020-07-01 16:01:08

如果你想要数组中的随机数,你应该把random.sample()放在循环中。

代码语言:javascript
复制
import random

mylist = [random.randint(1,11) for r in range(100)]
for i in range(100):
    x = random.sample(mylist,3)
    print('Number set', i + 1, 'is', x)

输出就像

代码语言:javascript
复制
...
Number set 98 is [4, 3, 1]                                                                                                
Number set 99 is [11, 11, 4]                                                                                              
Number set 100 is [8, 3, 6]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62680645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档