如何做婚恋网站,国内最新经济新闻,一天赚五千块钱的捕鱼游戏,wordpress 免费一、实验目的
使用Python解决简单问题
二、实验要求
自主编写并运行代码#xff0c;按照模板要求撰写实验报告
三、实验步骤
本次实验共有4题#xff1a;
汉诺塔问题#xff1a;有3根柱子#xff0c;第一根有N个盘子#xff0c;从上往下越来越大。要求把第一根柱子的…一、实验目的
使用Python解决简单问题
二、实验要求
自主编写并运行代码按照模板要求撰写实验报告
三、实验步骤
本次实验共有4题
汉诺塔问题有3根柱子第一根有N个盘子从上往下越来越大。要求把第一根柱子的N个盘子全部移到第三根柱子上在移动过程中始终只能小盘子压着大盘子而且每一次只能移动一个盘子。编写程序实现输入任意金额可以由100、50、10、1、0.1这几种面额组成。比如123.5可以由一张1002张103张15张0.1组成。有n个人围成一圈顺序排号。从第一个人开始报数从1到5报数凡报到5的人 退出圈子问最后留下的是原来的第几号。某网站要求对用户设置的密码进行检查密码长度介于6到12个字符且必须同时包含大小写字母、数字、及[,#,*]三个特殊符号中的一种。输入一系列以逗号分隔的密码输出符合要求的以逗号分隔的密码。
四、实验结果
T1 汉诺塔问题有3根柱子第一根有N个盘子从上往下越来越大。
要求把第一根柱子的N个盘子全部移到第三根柱子上
在移动过程中始终只能小盘子压着大盘子每一次只能移动一个盘子。import randomdef func(n, x, y, z): # 一个关于递归的经典示例if n 1:print(x, 移动至, z)else:func(n - 1, x, z, y)func(1, x, y, z)func(n - 1, y, x, z)num random.randint(2, 5)
print(初始状态共有 str(num) 层)
func(num, x, y, z)T2 编写程序实现输入任意金额
可以由100、50、10、1、0.1这几种面额组成
比如123.5可以由:
一张1002张103张15张0.1组成print(输入金额)
value float(input())hundred int(value / 100)
value value % 100
half_h int(value / 50)
value value % 50
ten int(value / 10)
value value % 10
one int(value / 1)
value value % 1
left int(value / 0.1)print(百元 str(hundred) 张五十元 str(half_h) 张十元 str(ten) 张一元 str(one) 张一角 str(left) 张)
T3 有n个人围成一圈顺序排号。
从第一个人开始报数从1到5报数
凡报到5的人退出圈子
问最后留下的是原来的第几号print(输入人数)
n int(input())
count -1# 0开始报4的退出
list []
for i in range(0, n):list.append(i) # 记录初始编号
利用Python的特性可以直接删除指定元素
一共要淘汰n-1个人for i in range(0, n - 1):count count 5if (count n - i):del list[count]else:count (count % (n - i)) - 1del list[count]print(最后留下的人的初始编号是 str(list[0] 1))T4 某网站要求对用户设置的密码进行检查
密码长度介于6到12个字符且必须同时包含大小写字母、数字、及
[,#,*]三个特殊符号中的一种。
输入一系列以逗号分隔的密码输出符合要求的以逗号分隔的密码。import reres def check(s):if (len(s) 12 or len(s) 6):return Falsecap 0low 0num 0char 0regex_num re.finditer(r[0-9], s)for match in regex_num:num 1regex_cap re.finditer(r[A-Z], s)for match in regex_cap:cap 1regex_low re.finditer(r[a-z], s)for match in regex_low:low 1regex_char re.finditer(r[#*], s)for match in regex_char:char 1if (cap ! 0 and low ! 0 and num ! 0 and char ! 0):return Trueelse:return Falsestr input(输入多组密码以逗号分隔以回车结束:)
num 0
list []for i in range(0, len(str)):if str[i] ,:list.append(i)for i in range(0, len(list) 1):if i 0:str_cut str[0: list[0]]if (check(str_cut)):res res str_cutelif i len(list):str_cut str[list[i - 1]: len(str)]if (check(str_cut)):res res str_cutelse:str_cut str[list[i - 1]: list[i]]if (check(str_cut)):res res str_cutprint(res)五、实验体会