当前位置:   article > 正文

python头歌-python第五章作业_头歌python作业答案第五章

头歌python作业答案第五章

第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. [print(i,end = ' ') for i in range(1,int(input()) + 1) if sum(map(int,str(i)))==5]
  2. # n = int(input( ))
  3. # for i in range(1,n+1);
  4. # if sum(map(int,str(i)))==5;
  5. # print(i,end = ' ')

第8关 字符串长度

print(len(input()))

第9关 字符串加密

  1. table = {'a': 'd', 'b': 'e', 'c': 'f', 'd': 'g', 'e': 'h', 'f':
  2. 'i', 'g': 'j','h': 'k', 'i': 'l', 'j': 'm', 'k': 'n', 'l': 'o',
  3. 'm': 'p', 'n': 'q', 'o': 'r', 'p': 's', 'q': 't', 'r': 'u', 's':
  4. 'v', 't': 'w', 'u': 'x', 'v': 'y', 'w': 'z', 'x': 'a', 'y': 'b',
  5. 'z': 'c', 'A': 'F', 'B': 'G', 'C': 'H', 'D': 'I', 'E': 'J', 'F':
  6. 'K', 'G': 'L', 'H': 'M', 'I': 'N', 'J': 'O', 'K': 'P', 'L': 'Q',
  7. 'M': 'R', 'N': 'S', 'O': 'T', 'P': 'U', 'Q': 'V', 'R': 'W', 'S':
  8. 'X', 'T': 'Y', 'U': 'Z', 'V': 'A', 'W': 'B', 'X': 'C', 'Y': 'D',
  9. 'Z': 'E'}
  10. text = input()
  11. for c in text:
  12. print(table. get(c,c), end='')

第10关 输出单词

  1. s=input().split()
  2. for i in s:
  3. print(i)

第11关 字符大小写转换

  1. s=input()
  2. for c in s:
  3. if c.islower():
  4. print(c.upper(),end='')
  5. elif c.isupper():
  6. print(c.lower(),end='')
  7. else:
  8. print(c,end='')

第12关 查找指定字符

  1. c=input()
  2. str=input()
  3. pos= str.find(c)
  4. if pos== -1:
  5. print('Not Found')
  6. else:
  7. print('index = {}'.format(pos))

第13关 随机密码生成器

  1. import random
  2. characters ='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'
  3. n,s=map(int,input().split(','))
  4. random.seed(s)
  5. key=''
  6. for i in range(n):
  7. key+=random.choice(characters)
  8. print(key)

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

  1. import random
  2. def key(num):
  3. for _ in range(num):
  4. keySn=[]
  5. for i in range(5):
  6. s=''
  7. characters='BCEFGHJKMPQRTVWXY2346789'
  8. for i in range(5):
  9. s = s + random.choice(characters)
  10. keySn.append(s)
  11. key='-'.join(keySn)
  12. print(key)
  13. if __name__ == '__main__':
  14. num = int(input())
  15. n=int(input())
  16. random.seed(n)
  17. key(num)

第15关 数列求和

  1. A=input()
  2. num = int(input())
  3. if 1<= int(A) <=9 and num >= 0:
  4. print(sum([int(A * i) for i in range(1,num +1)]))
  5. else:
  6. print('data error')

第16关 单词个数

print(len(input().split()))

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

闽ICP备14008679号