【头歌-Python】Python第五章作业(初级)(1~6)

这篇具有很好参考价值的文章主要介绍了【头歌-Python】Python第五章作业(初级)(1~6)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 如果代码存在问题,麻烦大家指正 ~ ~
  • 有帮助麻烦点个赞 ~ ~

第1关:回文素数

任务描述
回文素数是指一个数既是素数又是回文数。例如,131,既是素数又是回文数。 用户输入一个正整数 n , 请你在一行内输出从小到大排列的的前n个回文素数,数字后面用一个空格进行分隔。

输入格式
输入一个正整数

输出格式
符合要求的回文素数

示例
输入:10
输出:2 3 5 7 11 101 131 151 181 191

参考代码

from math import *
def prime(n):
    for j in range(2, int(sqrt(n))+1):
        if n%j==0:
           return 0
    return 1

x = int(input())
i = 0
n = 2
while i<x:
    if str(n)==str(n)[::-1] and prime(n):
        print(n, end=' ')
        i+=1
    n+=1

第2关:反素数

任务描述
反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。
例如:
13和31都是素数,且13和31都不是回文数,所以,13和31是反素数。
输入一个正整数 n , 请在同一行输出从小到大排列的的前n个反素数,每个数字后面加一个空格。

输入格式
输入一个正整数

输出格式
符合条件的反素数

示例
输入:

10

输出:

13 17 31 37 71 73 79 97 107 113 

参考代码

from math import*
def prime(n):
    for j in range(2,int(sqrt(n))+1):
        if n%j==0:
            return 0
    return 1
    
def reverse(m):
    m1= int(m[::-1])
    if str(m1)!=m and prime(m1):
        return 1
    return 0

x = int(input())
i, a = 0, 2
while i<x:
    if prime(a) and reverse(str(a)):
        print(a, end=' ')
        i+=1
    a+=1

第3关:哥德巴赫猜想

任务描述
1742年,哥德巴赫给欧拉的信中提出了以下猜想“任一大于2的整数都可写成三个质数之和”。常见的猜想陈述为欧拉的版本,即任一大于2的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。比如:24=5+19,其中5和19都是素数。
输入一个正整数N,当输入为偶数时,分行按照格式“N = p + q”输出N的所有素数分解,其中p 、 q均为素数且p ≤ q。当输入为奇数或N<4时,输出’Data error!’ 。

输入格式
输入一个正整数

输出格式
当输入为偶数时,分行按照格式“N = p + q”输出N的所有素数分解,其中p 、 q均为素数且p ≤ q。当输入为奇数或N<4时,输出’Data error!’ 。

示例 1
输入:

30

输出:

30=7+23
30=11+19
30=13+17

示例 2
输入:

77

输出:

Data error!

参考代码

def is_prime(n):
    """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False"""
    #=======================================================
    # 补充你的代码    
    if n<2:
        return False
    for i in range(2,n):
        if n%i==0:
           return False
    else:
        return True
    #=======================================================

    
def goldbach_conjecture(num):
    """ 哥德巴赫猜想, 接收一个不小于4的正整数为参数。
    当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。
    有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。
    参数为奇数或小于4时,输出'Data error!'
    """
    #=======================================================
    # 补充你的代码
    if num<4 or num%2!=0:
        print('Data error!')
    else:
        for j in range(2,num):
            if is_prime(j) and is_prime(num-j) and j<=(num-j):
                print(f'{num}={j}+{(num-j)}')
    #=======================================================

if __name__ == '__main__':
    positive_even = int(input())        # 输入一个正数
    goldbach_conjecture(positive_even)

第4关:货币转换

任务描述
编写一个美元与人民币转换的程序,用户输入金额和汇率(合理的汇率是正数),输出转换为另一种货币表示的金额。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

美元:'$'
人民币:'¥'

货币标识可从上述描述中复制

输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
第一行输入一个以货币符号结尾的正数,数值作为金额,货币符号表明货币种类‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

第二行输入一个浮点数作为汇率

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入符合要求时输出一个带货币符号的数值(保留2位小数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入不符合要求时输出Data error!

示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入:

58$
6.75

输出:

391.50¥‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

示例 2‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入:

100¥
6.85

输出:

14.60$‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

示例 3‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入:

58
6.75

输出:

Data error!‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

参考代码

a = input().strip()
b = float(input())
if b<=0:
    print('Data error!')
elif '$' in a:
    c = eval(a[0:-1])*b
    print(f'{c:.2f}¥ ')
elif '¥' in a:
    c = int(a[0:-1])/b
    print(f'{c:.2f}$')
else:
    print('Data error!')

第5关:个人信息提取

任务描述
用户输入自己的个人信息,格式如下:
0122923450321 王昊 法学1801 河北 2001年
数据分别表示:学号 姓名 专业班级 籍贯 出生年份,各数据间空格间隔

有些用户没有按照规则输入数据,输入自己出生年份的时候写成了类似‘1900年生’或‘出生于1985’或‘19岁生于2006年11月’的数据格式

请注意程序仍然需要正确读取该项数据,本题保证这些用户输入时一定只含有1个4位数字连续组成的年份数据。

请按照输出样式输出姓名,班级,出生年份呢

提示:
列表中的数据和字符串当中的字符一样,都具有有序的索引,且引用数据和切片方式一致。
str.isdigit()可以帮助判断字符串是否全部由数字字符组成,返回值为’True’或’False’

输入示例

0122923450321 王昊 法学1801 河北 2001

输出示例

姓名:王昊 
班级:法学1801 
出生:2001

示例
输入:

0122923450321 王昊 法学1801 河北 2001

输出:

姓名:王昊
班级:法学1801
出生:2001

参考代码

a = input()
b = a.split(' ')
for i in range(1980, 2023):
    if str(i) in b[4]:
       break
print('姓名:' + b[1])
print('班级:' + b[2])
print('出生:' + str(i) + '年')

第6关:身份证号基本信息

任务描述
18位身份证号码第7-10位为出生年份(四位数),第11-12位为出生月份,第13-14位代表出生日期,第17位代表性别,奇数为男,偶数为女。 用户输入一个合法的身份证号,请输出用户的出生年月日和性别。(不要求较验输入的合法性)

输入格式
输入一个合法的身份证号字符串

输出格式
类似以下格式输出:

出生:1995年11月11日 性别:女

示例 1
输入:

110111199511111101

输出:文章来源地址https://www.toymoban.com/news/detail-778410.html

出生:19951111日
性别:女

参考代码

a = input()
if a[16] in '02468x':
    print(f'出生:{a[6:10]}{a[10:12]}{a[12:14]}日')
    print('性别:女')
elif a[16] in '13579':
    print(f'出生:{a[6:10]}{a[10:12]}{a[12:14]}日')
    print('性别:男') 

到了这里,关于【头歌-Python】Python第五章作业(初级)(1~6)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【头歌-Python】Python第六章作业(初级)

    初始化一个空列表,输入一个正整数 n。 接下来,你将被要求输入 n 个指令,每得到一个指令后,根据指令的字符串进行对应的功能操作。 指令形式及对应功能如下: 第一行输入一个正整数 n‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪

    2024年02月08日
    浏览(49)
  • 【头歌-Python】Python第一章作业(初级)

    任务描述 示例 Python 可以方便的实现计算器的功能。数学意义上的加、减、乘、除在Python中分别以符号“+、-、*、/”表示。 试编程实现分两行输入两个非零浮点数,并在4 行中按顺序输出两个数的加、减、乘、除的计算式和计算结果。计算结果str.format()方法严格保留小数点后

    2024年02月02日
    浏览(122)
  • 【头歌-Python】Python第二章作业(初级)

    任务描述 输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式: ,其中s=(a+b+c)/2。 输入格式 分三行输入 3 个浮点数,表示三角形的三个边长 输出格式

    2024年03月24日
    浏览(93)
  • 【头歌-Python】Python第八章作业(初级)

    读取附件是一篇英文短文,请编写程序统计这篇短文前 n 行中每一个英文字母出现的次数,结果按次数降序排列,次数相同时,按字母表顺序输出。若 n 值大于短文行数,输出整篇文章中每一个英文字母出现的次数(大写字母按小写字母统计)。 The Old Man and the Sea.txt 输入一

    2024年02月05日
    浏览(118)
  • 【头歌-Python】Python第三章作业(初级)(1~12)

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 任务描述 输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。 输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬

    2024年02月02日
    浏览(228)
  • Python第五章作业

    目录 第1关 回文素 第2关 反素数 第3关 哥德巴赫猜想 第4关 货币转换 第5关 个人信息提取 第6关 身份证号基本信息 第7关 各位数字之和为5的数 第8关 字符串长度 第9关 字符串加密 第10关 输出单词 第11关 字符大小写转换 第12关 查找指定字符 第13关 随机密码生成器

    2024年02月04日
    浏览(59)
  • 【头歌-Python】Python第九章作业(初级)第5关

    列表labels和sizes中的数据分别是目前主流程序设计语言及其热度数据(百分比),请根据这些数据绘制饼图,并将Python程序设计语言所在区域突出 0.1 显示。 无 要求: 设置饼图为圆形: plt.axes(aspect=1) 设置中文字体和负号显示问题如下: plt.rcParams[‘font.sans-serif’] = [‘SimSu

    2024年02月13日
    浏览(95)
  • 【头歌-Python】Python第九章作业(初级)第3关

    附件数据为两列,第一列为 X 值,第二列为 Y 值,中间用制表符t分隔。 请根据附件中的数据绘制如输出示例所示的 XRD 谱图。 提交程序代码。 绘制如输出示例所示的 XRD 曲线图 设置XRD曲线线条颜色为红色,线宽度为1 在 y 值为 0处绘制平行于 x 轴直线,线型为实线,蓝色;

    2024年02月17日
    浏览(101)
  • python头歌实践教学平台-python第三章作业(初级)

    第1关 判断是否直角三角形 第2关 今年多少天? 第3关 判断三角形并计算面积 第4关 身高测算 第5关 个税计算器 第6关 判断闰年 第7关 分段函数B 第8关 百分制成绩转换五分制E 第9关 正负交错数列前n项和 第10关 求数列前n项的平方和 第11关 百钱买百鸡A 第12关 用户登录

    2024年02月02日
    浏览(95)
  • 【头歌-Python】Python第九章作业(初级)第 1、2、4 关

    附件中是某月每天的最高温度和最低温度数据,请绘制本月的高温曲线(红色、圆点标记坐标)和低温曲线(蓝色、星号标记坐标),线型、刻度如输出示例所示,线宽度默认值,并设置图表标题为\\\"9月温度曲线图\\\",标题字体为宋体(‘SimSun’),默认字号。 要求程序代码运

    2024年02月09日
    浏览(156)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包