当前位置:   article > 正文

Python第五章作业

python第五章作业

目录

第1关 回文素

第2关 反素数

第3关 哥德巴赫猜想

第4关 货币转换

第5关 个人信息提取

第6关 身份证号基本信息

第7关 各位数字之和为5的数

第8关 字符串长度

第9关 字符串加密

第10关 输出单词

第11关 字符大小写转换

第12关 查找指定字符

第13关 随机密码生成器

第14关 模拟生成微软序列号

第15关 数列求和

第16关 单词个数


第1关 回文素

  1. def isprime(n):
  2. for j in range(2, int(n**(1/2)) + 1):
  3. if n % j == 0:
  4. return 0
  5. return 1
  6. def plalindrome_prime(n):
  7. n1 = n[::-1]
  8. if n1 == n:
  9. return 1
  10. return 0
  11. x = int(input())
  12. i = 0
  13. n = 2
  14. while (i < x):
  15. if (isprime(n) and plalindrome_prime(str(n))):
  16. print(n, end=' ')
  17. i += 1
  18. n += 1

第2关 反素数

  1. def is_prime(n):
  2. for i in range(2,int(n**(1/2)+1)+1):
  3. if n % i ==0:
  4. return False
  5. return True
  6. def reverse_prime(n):
  7. if is_prime(n) and is_prime(int(str(n)[::-1])) and str(n) !=str(n)[::-1]:
  8. return True
  9. else:
  10. return False
  11. a = int(input())
  12. times = 0
  13. n = 2
  14. while times < a:
  15. if reverse_prime(n):
  16. print(n,end = " ")
  17. times += 1
  18. n +=1

第3关 哥德巴赫猜想

  1. def is_prime(n):
  2. """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False"""
  3. # ====================Begin===================================
  4. # 补充你的代码
  5. if n < 2:
  6. return False
  7. elif n == 2:
  8. return True
  9. else:
  10. a = int(n ** (1 / 2) + 1)
  11. for i in range(2, a + 1):
  12. if n % i == 0:
  13. return False
  14. else:
  15. return True
  16. # ======================End=================================
  17. def goldbach_conjecture(num):
  18. """ 哥德巴赫猜想, 接收一个不小于4的正整数为参数。
  19. 当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。
  20. 有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。
  21. 参数为奇数或小于4时,输出'Data error!'
  22. """
  23. # ====================Begin===================================
  24. # 补充你的代码
  25. if 4<=num and num % 2 == 0:
  26. for i in range(1,num + 1):
  27. n = num - i
  28. if is_prime(i) and is_prime(n) and i<=n :
  29. print(f"{num}={i}+{n}")
  30. else:
  31. print('Data error!')
  32. # ======================End=================================
  33. if __name__ == '__main__':
  34. positive_even = int(input()) # 输入一个正数
  35. goldbach_conjecture(positive_even)

第4关 货币转换

  1. a = input()
  2. b = eval(input())
  3. if '$' in a and b>0:
  4. c = eval(a.replace('$',""))
  5. print(f"{c*b:.2f}¥")
  6. elif "¥" in a and b>0:
  7. c = eval(a.replace('¥', ""))
  8. print(f"{c/b:.2f}$")
  9. else:
  10. print("Data error!")

第5关 个人信息提取

  1. a = list(map(str,input().split()))
  2. b = []
  3. c=0
  4. for i in a[4]:
  5. if str.isdigit(i) and c <4:
  6. b.append(i)
  7. c+=1
  8. b = ''.join(b)
  9. print("姓名:" + a[1])
  10. print("班级:" + a[2])
  11. print("出生:" + str(b)+"年")

第6关 身份证号基本信息

  1. a = input()
  2. year = a[6:10]
  3. month = a[10:12]
  4. date = a[12:14]
  5. if int(a[16])%2 == 0:
  6. print(f'出生:{year}{month}{date}日')
  7. print('性别:女')
  8. else:
  9. print(f'出生:{year}{month}{date}日')
  10. print('性别:男')

第7关 各位数字之和为5的数

  1. a = int(input())
  2. for i in range(a+1):
  3. s = 0
  4. for n in str(i):
  5. s = s + int(n)
  6. if s == 5:
  7. print(i, end=" ")

第8关 字符串长度

  1. a = input()
  2. print(len(a))

第9关 字符串加密

  1. import string
  2. def caesar_cipher(text):
  3. lower = string.ascii_lowercase
  4. upper = string.ascii_uppercase
  5. digit = string.digits
  6. before = lower + upper + digit
  7. after = lower[3:]+lower[:3] + upper[5:]+upper[:5]+ digit
  8. result = ''.maketrans(before, after)
  9. return text.translate(result)
  10. if __name__ == '__main__':
  11. plaintext = input()
  12. print(caesar_cipher(plaintext))

第10关 输出单词

  1. a = input()
  2. b = a.split()
  3. for i in b:
  4. print(i)

第11关 字符大小写转换

  1. import string
  2. def caesar_cipher(text):
  3. lower = string.ascii_lowercase
  4. upper = string.ascii_uppercase
  5. digit = string.digits
  6. before = lower + upper + digit
  7. after = upper + lower+ digit
  8. result = ''.maketrans(before, after)
  9. return text.translate(result)
  10. if __name__ == '__main__':
  11. plaintext = input()
  12. print(caesar_cipher(plaintext))

第12关 查找指定字符

  1. a = input()
  2. b = input()
  3. if a in b:
  4. print(f'index = {b.index(a)}')
  5. else:
  6. print("Not Found")

第13关 随机密码生成器

  1. import random
  2. n,s= map(int,input().split(','))
  3. random.seed(s)
  4. i = 0
  5. while i < n:
  6. i += 1
  7. print(random.choice('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'),end = "")

第14关 模拟生成微软序列号

  1. import random
  2. n = int(input())
  3. x = int(input())
  4. random.seed(x)
  5. def wrxl():
  6. list = []
  7. times = 0
  8. while times < 5:
  9. for i in range(5):
  10. a = random.choice("BCEFGHJKMPQRTVWXY2346789")
  11. list.append(a)
  12. list.append('-')
  13. list1 = map(str,list)
  14. times += 1
  15. list2 = ''.join(list1)
  16. list2 = list2.strip('-')
  17. return list2
  18. for i in range(n):
  19. print(wrxl())

第15关 数列求和

  1. A = input()
  2. N = int(input())
  3. if 0 <= N and 1<= int(A) <=9 :
  4. def slqh(A,N):
  5. list = []
  6. for i in range(1,N+1):
  7. list.append(int(A*i))
  8. print(sum(list))
  9. slqh(A,N)
  10. else:
  11. print('data error')

第16关 单词个数

  1. txt = input()
  2. for i in ",.!":
  3. txt = txt.replace(i, " ")
  4. x1 = txt.split()
  5. print(len(x1))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/678630
推荐阅读
相关标签
  

闽ICP备14008679号