首页 > Python资料 博客日记
python头歌-python第五章作业
2024-05-13 17:00:04Python资料围观263次
这篇文章介绍了python头歌-python第五章作业,分享给大家做个参考,收藏Python资料网收获更多编程知识
第1关 回文素数
def isprime(n):
for j in range(2, int(n**(1/2)) + 1):
if n % j == 0:
return 0
return 1
def plalindrome_prime(n):
n1 = n[::-1]
if n1 == n:
return 1
return 0
x = int(input())
i = 0
n = 2
while (i < x):
if (isprime(n) and plalindrome_prime(str(n))):
print(n, end=' ')
i += 1
n += 1
第2关 反素数
def is_prime(n):
for i in range(2,int(n**(1/2)+1)+1):
if n % i ==0:
return False
return True
def reverse_prime(n):
if is_prime(n) and is_prime(int(str(n)[::-1])) and str(n) !=str(n)[::-1]:
return True
else:
return False
a = int(input())
times = 0
n = 2
while times < a:
if reverse_prime(n):
print(n,end = " ")
times += 1
n +=1
第3关 哥德巴赫猜想
def is_prime(n):
"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False"""
# ====================Begin===================================
# 补充你的代码
if n < 2:
return False
elif n == 2:
return True
else:
a = int(n ** (1 / 2) + 1)
for i in range(2, a + 1):
if n % i == 0:
return False
else:
return True
# ======================End=================================
def goldbach_conjecture(num):
""" 哥德巴赫猜想, 接收一个不小于4的正整数为参数。
当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。
有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。
参数为奇数或小于4时,输出'Data error!'
"""
# ====================Begin===================================
# 补充你的代码
if 4<=num and num % 2 == 0:
for i in range(1,num + 1):
n = num - i
if is_prime(i) and is_prime(n) and i<=n :
print(f"{num}={i}+{n}")
else:
print('Data error!')
# ======================End=================================
if __name__ == '__main__':
positive_even = int(input()) # 输入一个正数
goldbach_conjecture(positive_even)
第4关 货币转换
a = input()
b = eval(input())
if '$' in a and b>0:
c = eval(a.replace('$',""))
print(f"{c*b:.2f}¥")
elif "¥" in a and b>0:
c = eval(a.replace('¥', ""))
print(f"{c/b:.2f}$")
else:
print("Data error!")
第5关 个人信息提取
a = list(map(str,input().split()))
b = []
c=0
for i in a[4]:
if str.isdigit(i) and c <4:
b.append(i)
c+=1
b = ''.join(b)
print("姓名:" + a[1])
print("班级:" + a[2])
print("出生:" + str(b)+"年")
第6关 身份证号基本信息
a = input()
year = a[6:10]
month = a[10:12]
date = a[12:14]
if int(a[16])%2 == 0:
print(f'出生:{year}年{month}月{date}日')
print('性别:女')
else:
print(f'出生:{year}年{month}月{date}日')
print('性别:男')
第7关 各位数字之和为5的数
[print(i,end = ' ') for i in range(1,int(input()) + 1) if sum(map(int,str(i)))==5]
# n = int(input( ))
# for i in range(1,n+1);
# if sum(map(int,str(i)))==5;
# print(i,end = ' ')
第8关 字符串长度
print(len(input()))
第9关 字符串加密
table = {'a': 'd', 'b': 'e', 'c': 'f', 'd': 'g', 'e': 'h', 'f':
'i', 'g': 'j','h': 'k', 'i': 'l', 'j': 'm', 'k': 'n', 'l': 'o',
'm': 'p', 'n': 'q', 'o': 'r', 'p': 's', 'q': 't', 'r': 'u', 's':
'v', 't': 'w', 'u': 'x', 'v': 'y', 'w': 'z', 'x': 'a', 'y': 'b',
'z': 'c', 'A': 'F', 'B': 'G', 'C': 'H', 'D': 'I', 'E': 'J', 'F':
'K', 'G': 'L', 'H': 'M', 'I': 'N', 'J': 'O', 'K': 'P', 'L': 'Q',
'M': 'R', 'N': 'S', 'O': 'T', 'P': 'U', 'Q': 'V', 'R': 'W', 'S':
'X', 'T': 'Y', 'U': 'Z', 'V': 'A', 'W': 'B', 'X': 'C', 'Y': 'D',
'Z': 'E'}
text = input()
for c in text:
print(table. get(c,c), end='')
第10关 输出单词
s=input().split()
for i in s:
print(i)
第11关 字符大小写转换
s=input()
for c in s:
if c.islower():
print(c.upper(),end='')
elif c.isupper():
print(c.lower(),end='')
else:
print(c,end='')
第12关 查找指定字符
c=input()
str=input()
pos= str.find(c)
if pos== -1:
print('Not Found')
else:
print('index = {}'.format(pos))
第13关 随机密码生成器
import random
characters ='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'
n,s=map(int,input().split(','))
random.seed(s)
key=''
for i in range(n):
key+=random.choice(characters)
print(key)
第14关 模拟生成微软序列号
import random
def key(num):
for _ in range(num):
keySn=[]
for i in range(5):
s=''
characters='BCEFGHJKMPQRTVWXY2346789'
for i in range(5):
s = s + random.choice(characters)
keySn.append(s)
key='-'.join(keySn)
print(key)
if __name__ == '__main__':
num = int(input())
n=int(input())
random.seed(n)
key(num)
第15关 数列求和
A=input()
num = int(input())
if 1<= int(A) <=9 and num >= 0:
print(sum([int(A * i) for i in range(1,num +1)]))
else:
print('data error')
第16关 单词个数
print(len(input().split()))
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【python】Matplotlib库安装教程
- Python 青铜宝剑十六维,破医疗数智化难关(上)
- 【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
- Python 条件语句详解 if - elif-else
- C语言&Python&Bash:空白(空格、水平制表符、换行符)与转义字符
- 计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习
- Python | 基于支持向量机(SVM)的图像分类案例
- 如何在Python中安装GDAL库(gdal)
- 轨迹优化 | 基于贝塞尔曲线的无约束路径平滑与粗轨迹生成(附ROS C++/Python仿真)
- Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程