目录

一、前言

二、正文

1.函数介绍

2.代码解析

 三、总结


一、前言

在上篇博文中,我们实现了问卷星的单选功能,对于多选的功能,需要学习一下这篇博文的内容。

隔壁寝室刷问卷刷疯了,我们寝室则相反,打游戏的同时问卷份数也在增加,隔壁寝室的人投来羡慕的目光,向我要代码!!

二、正文

1.函数介绍

①random模块中的random.randint()函数

    random.randint(m, n)表示返回一个[m,n]的随机整数。

函数sort()用于列表中元素的排列,不写任何参数则会将列表中的元素升序(从小到大)排列。

2.代码解析

代码如下

import random
def int_random(m, n, o):
    p = []
    while len(p) < o:
        new_int = random.randint(m, n)
        if (new_int not in p):
            p.append(new_int)
        else:
            pass
    return p
q = int_random(1, 4, 3)
print(q)
# 遍历列表内容,并打印
for r in q:
    print(r)

字母解释:m表示生成的随机数的下限,n表示生成的随机数的上限,o表示生成随机数的个数。

思路:

①首先定义一个函数int_random(),创建一个空列表p,如果列表p里面的个数少于你所写的o(生成随机数的个数),随机生成一个在m和n之间(包括m,n)的的一个数,接下来的if函数可以用来去重复数字。如果新生成的数字列表中已经有了,则跳过这个,重新进入while循环,重新生成随机数,反之,则在列表p中添加这个随机数。最后这个int_random()函数返回的结果是列表p。

②for循环表示遍历列表p的内容。

③m,n,o的内容可以自定,只要满足o在m和n之间就好。

注:while len(p) < o中的<不能写成<=,否则会使得多一个随机数,如果o和n相等时,会长时间运行而不报错。

④以上代码生成的列表和遍历的内容是无序的,要将它升序排列,只需用到sort()函数,

import random
def int_random(m, n, o):
    p = []
    while len(p) < o:
        new_int = random.randint(m, n)
        if (new_int not in p):
            p.append(new_int)
        else:
            pass
    return p
q = int_random(3, 8, 3)
q.sort()
print(q)
# 遍历列表内容,并打印
for r in q:
    print(r)

只需在q = int_random(3, 8, 3)后面加一个 q.sort()就可以实现元素有序排列。

未加sort()函数

 加了sort()函数

 三、总结

这篇文章主要讲述生成多个随机数的思路。在下篇文章中我们将会将它应用到问卷星问卷的多选题上,如果觉得本文写的不错的,欢迎点赞、评论,您的想法将会是我努力的动力!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐