临沂网站建设设计公司,互动营销案例都有哪些,微信运营是什么样的岗位,led网站建设哪家专业本篇文章是对北京理工大学嵩天老师的《Python语言程序设计》第五章考试题及练习题的学习记录。
一、考试题
1、随机密码生成
问题描述#xff1a; 描述 补充编程模板中代码#xff0c;完成如下功能#xff1a;…本篇文章是对北京理工大学嵩天老师的《Python语言程序设计》第五章考试题及练习题的学习记录。
一、考试题
1、随机密码生成
问题描述 描述 补充编程模板中代码完成如下功能 以整数17为随机数种子获取用户输入整数N为长度产生3个长度为N位的密码密码的每位是一个数字。每个密码单独一行输出。 产生密码采用random.randint()函数。 输入输出示例 输入输出示例 1 3 634
524
926 参考代码
import randomdef genpwd(length):a 10 ** (length - 1)b 10 ** length -1return {}.format(random.randint(a,b))
length eval(input())
random.seed(17)
for i in range(3):print(genpwd(length))
2、连续质数计算
问题描述 描述 补充编程模板中代码完成如下功能 获得用户输入数字N计算并输出从N开始的5个质数单行输出质数间用逗号,分割。 注意需要考虑用户输入的数字N可能是浮点数应对输入取整数最后一个输出后不用逗号。 输入输出示例 输入输出示例 1 12 13,17,19,23,29 参考代码
def prime(m):for i in range(2,m):if m % i 0:m 1return prime(m)else:return m
n eval(input())
N int(n)
N N 1 if Nn else N
count 5
while count0:if count1:print(prime(N),end,)N prime(N) 2else:print(prime(N),end)count - 1
二、练习题
1、科赫雪花小包裹
问题描述 描述 这是实例题与课上讲解实例相同请作答检验学习效果。 科赫曲线也叫雪花曲线。绘制科赫曲线。 请补充编程模板中代码完成功能获得用户输入的整数N作为阶绘制N阶科赫曲线。 参考代码
import turtle
def koch(size, n):if n 0:turtle.fd(size)else:for angle in [0, 60, -120, 60]:turtle.left(angle)koch(size/3, n-1)def main(level):turtle.setup(600,600)turtle.penup()turtle.goto(-200, 100)turtle.pendown()turtle.pensize(2)koch(400, level)turtle.right(120)koch(400, level)turtle.right(120)koch(400, level)turtle.right(120)turtle.hideturtle()
try:level eval(input(请输入科赫曲线的阶: ))main(level)
except:print(输入错误)
2、任意累积
问题描述 请根据编程模板补充代码计算任意个输入数字的乘积。 注意仅需要在标注...的地方补充一行或多行代码。 输入示例1 1,2,3,4输出示例1 24 参考代码
def cmul(a, *b):m afor i in b:m * ireturn m
print(eval(cmul({}).format(input()))) 3、斐波那契数列计算
问题描述 根据编程模板补充代码计算斐波那契数列的值具体功能如下 获取用户输入整数N其中N为正整数 计算斐波那契数列的值 如果将斐波那契数列表示为fbi(N)对于整数N值如下 fbi(1)和fbi(2)的值是1当N2时fbi(N) fbi(N-1) fbi(N-2) 请采用递归方式编写。 输入示例1 4输出示例1 3 参考代码
def fbi(n):if n 1 or n 2:return 1else:return fbi(n-1) fbi(n-2)
n eval(input())
print(fbi(n))
4、汉诺塔实践
问题描述 汉诺塔问题大家都清楚这里不再赘述。 请补充编程模板中代码完成如下功能 有三个圆柱A、B、C初始时A上有N个圆盘N由用户输入给出最终移动到圆柱C上。 每次移动步骤的表达方式示例如下[STEP 10] A-C。其中STEP是步骤序号宽度为4个字符右对齐。 请编写代码获得输入N后输出汉诺塔移动的步骤。 输入格式一个整数 输入示例1 4输出格式每个步骤一行每行参考格式如下[STEP 10] A-C 输出示例1 [STEP 1] A-C
[STEP 2] A-B
[STEP 3] C-B
[STEP 4] A-C
[STEP 5] B-A
[STEP 6] B-C
[STEP 7] A-C 参考代码
steps 0
def hanoi(src, des, mid, n):global stepsif n 1:steps 1print([STEP{:4}] {}-{}.format(steps, src, des))else:hanoi(src, mid, des,n-1)steps 1print([STEP{:4}] {}-{}.format(steps, src, des))hanoi(mid, des, src, n-1)
N eval(input())
hanoi(A, C, B, N)