Python编程练习(二):11 - 20
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python编程练习(二):11 - 20,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6455字,纯文字阅读大概需要10分钟。
内容图文
![Python编程练习(二):11 - 20](/upload/InfoBanner/zyjiaocheng/590/a605ebfc9ae942d3b370fcf2985f34f2.jpg)
零基础入门学Python系列内容对应的所有编程练习题目 → \rightarrow →Python编程练习题目汇总。
- 编写程序:对密码进行安全性检查。
# 密码安全性检查代码# 低级密码要求:# 1. 密码由单纯的数字或字母组成# 2. 密码长度小于等于8位# 中级密码要求:# 1. 密码必须由数字、字母或特殊字符(仅限:`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>)任意两种组合# 2. 密码长度不能低于8位# 高级密码要求:# 1. 密码必须由数字、字母及特殊字符(仅限:`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>)三种组合# 2. 密码只能由字母开头# 3. 密码长度不能低于16位symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>''' chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' nums = '0123456789' passwd = input(' 请输入需要检查的密码组合: ') # 判断长度length = len(passwd) while (passwd.isspace() or length == 0) : passwd = input(" 您输入的密码为空(或空格),请重新输入: ") if length <= 8: flag_len = 1 elif 8 < length < 16: flag_len = 2 else: flag_len = 3 flag_con = 0 # 判断是否包含特殊字符for each in passwd: if each in symbols: flag_con += 1 break # 判断是否包含字母for each in passwd: if each in chars: flag_con += 1 break # 判断是否包含数字for each in passwd: if each in nums: flag_con += 1 break # 打印结果while 1 : print(" 您的密码安全级别评定为: ", end='') if flag_len == 1 or flag_con == 1 : print(" 低") elif flag_len == 2 or flag_con == 2 : print(" 中") else : print(" 高") print(" 请继续保持 ") break print(" 请按以下方式提升您的密码安全级别: \n\ \t1. 密码必须由数字、字母及特殊字符三种组合 \n\ \t2. 密码只能由字母开头 \n\ \t3. 密码长度不能低于 16 位'") break
??>>>
??请输入需要检查的密码组合: 123456
??您的密码安全级别评定为: 低
??请按以下方式提升您的密码安全级别:
?????1. 密码必须由数字、字母及特殊字符三种组合
?????2. 密码只能由字母开头
?????3. 密码长度不能低于 16 位’
??请输入需要检查的密码组合: abc123456def
??您的密码安全级别评定为: 中
??请按以下方式提升您的密码安全级别:
?????1. 密码必须由数字、字母及特殊字符三种组合
?????2. 密码只能由字母开头
?????3. 密码长度不能低于 16 位’
?? 请输入需要检查的密码组合: abc123def456ghi789%&*
??您的密码安全级别评定为: 高
??请继续保持
??>>>
- 编写程序:进行进制转换。
q = True while q: num = input(' 请输入一个整数 (输入 Q 结束程序 ):') if num != 'Q': num = int(num) print(' 十进制 -> 十六进制 : %d -> 0x%x' % (num, num)) print(' 十进制 -> 八进制 : %d -> 0o%o' % (num, num)) print(' 十进制 -> 二进制 : %d -> ' % num, bin(num)) else: q = False
??>>>
??请输入一个整数 (输入 Q 结束程序 ):38
??十进制 -> 十六进制 : 38 -> 0x26
??十进制 -> 八进制 : 38 -> 0o46
??十进制 -> 二进制 : 38 -> 0b100110
??请输入一个整数 (输入 Q 结束程序 ):89
??十进制 -> 十六进制 : 89 -> 0x59
??十进制 -> 八进制 : 89 -> 0o131
??十进制 -> 二进制 : 89 -> 0b1011001
??请输入一个整数 (输入 Q 结束程序 ):1000
??十进制 -> 十六进制 : 1000 -> 0x3e8
??十进制 -> 八进制 : 1000 -> 0o1750
??十进制 -> 二进制 : 1000 -> 0b1111101000
??请输入一个整数 (输入 Q 结束程序 ):Q
??>>>
- 编写程序:查找系统中某个用户的成绩。
name = input(' 请输入待查找的用户名: ') score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]] IsFind = False for each in score: if name in each: print(name + '的得分是:', each[1]) IsFind = True break if IsFind == False: print(' 查找的数据不存在! ')
??>>>
??请输入待查找的用户名: 小明
??查找的数据不存在!
??请输入待查找的用户名: 迷途
??迷途的得分是: 85
??>>>
- 编写程序:计算并返回x的y次幂的值。
# 编写一个函数power()模拟内建函数pow() ,即power(x, y)为计算并返回x的y次幂的值def power(x,y): result = 1 for i in range(y): result *= x return result x = int(input('请输入底数x:'))y = int(input('请输入指数y:'))print(power(x,y))
??>>>
??请输入底数x:2
??请输入指数y:3
??8
??>>>
- 编写程序:计算并返回x的y次幂的值(递归实现)。
def power(x,y): if y == 0: result = 1 else: result = x*power(x,y-1) return result x = int(input('请输入底数x:'))y = int(input('请输入指数y:'))print(power(x,y))
??>>>
??请输入底数x:2
??请输入指数y:3
??8
??>>>
- 编写程序:求参数x和参数y的最大公约数。
# 编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数def gcd(x, y): while y: t = x % y x = y y = t return x x = int(input('请输入第一个数x:'))y = int(input('请输入第二个数y:'))print(gcd(x, y))
??>>>
??请输入第一个数x:100
??请输入第二个数y:35
??5
??>>>
- 编写程序:求参数x和参数y的最大公约数(递归实现)。
def gcd(x,y): if y == 0: return x else: return gcd(y,x%y) x = int(input('请输入第一个数x:'))y = int(input('请输入第二个数y:'))print(gcd(x, y))
??>>>
??请输入第一个数x:100
??请输入第二个数y:35
??5
??>>>
- 编写程序:将十进制转换为二进制。
# 编写一个将十进制转换为二进制的函数,要求采用“除2取余”的方式,结果与调用 bin()一样返回字符串形式。def Dec2Bin(dec): temp = [] result = '' while dec: quo = dec % 2 dec = dec // 2 temp.append(quo) while temp: result += str(temp.pop()) return result x = int(input('请输入一个十进制数:'))print(Dec2Bin(x))
??>>>
??请输入一个十进制数:10
??1010
??请输入一个十进制数:28
??11100
??>>>
- 编写程序:将十进制转换为二进制(递归实现)。
def Bin(n): temp = '' if n: temp = Bin(n//2) temp += str(n%2) return temp else: return temp num = int(input('请输入一个十进制数:'))print(num,'-->',Bin(num))
??>>>
??请输入一个十进制数:10
??10 --> 1010
??请输入一个十进制数:28
??28 --> 11100
??>>>
- 编写程序:统计一个长度为2的子字符串在另一个字符串中出现的次数。
# 编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。def findStr(desStr,subStr): count = 0 length = len(desStr) if subStr not in desStr: print("在目标字符串中未找到字符串!") else: for each1 in range(length - 1):#因为你找的是长度2的字符串,所以length减了1 if desStr[each1] == subStr[0]: if desStr[each1+1] == subStr[1]: count += 1 print('字符串在目标字符串中共出 %d 次' % count)desStr = input('请输入目标字符串:')subStr = input('请输入子字符串(两个字符):')findStr(desStr,subStr)
??>>>
??请输入目标字符串:You cannot improve your past, but you can improve your future.Once time is wasted, life is wasted.
??请输入子字符串(两个字符):im
??字符串在目标字符串中共出 3 次
??>>>
内容总结
以上是互联网集市为您收集整理的Python编程练习(二):11 - 20全部内容,希望文章能够帮你解决Python编程练习(二):11 - 20所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。