中国大学MOOC《Python语言程序设计》第5周测试练习题 答案

这是一篇关于中国大学MOOC中Python语言程序设计课程第五周的测试和练习解答,包括随机密码生成、连续质数计算等题目。文章详细介绍了每个问题的描述、提供的代码及正确答案。

第四周测试题

1 随机密码生成

描述
以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
产生密码采用random.randint()函数。

我的代码

使用递归,分别随机各个位数上的数字。能够完成题目要求,但与题目答案随机出的数字不同。

import random

def genpwd(length):
    if length == 1:
        return str(random.randint(0,9))
    else:
        a = random.randint(0,9)
        return str(a)+genpwd(length - 1)  
            

length = eval(input())
random.seed(17)
for i in range(3):
    print(genpwd(length))

答案

用length表示出.randint的随机范围,直接得到length位数的随机数。

import random

def genpwd(length):
    a = 10**(length-1) #用length表示出.randint的随机范围
    b = 10**length - 1
    return "{}".format(random.randint(a, b)) 

length = eval(input())
random.seed(17)
for i in range(3):
    print(genpwd(length)

2 连续质数计算

描述
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入输出示例
输入 12 输出 13,17,19,23,29

def prime(m):
    for i in range(2,m):
        if m % i == 0:
            return False
    return True

n = eval(input())
n_ = int(n)
n_ = n_+1 if n_ < n else n_
count = 5

while count > 0:
    if prime(n_):
        if count 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值