Python编程练习(二):11 - 20

Python编程练习(二):11 - 20,第1张

概述零基础入门学Python系列内容对应的所有编程练习题目→\rightarrow→Python编程练习题目汇总。编写程序:对密码进行安全性检查。#密码安全性检查代码#低级密码要求:#1.密

零基础入门学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 resultx = 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 resultx = 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 xx = 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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1186113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存