【Python】25道Python练手题(附详细答案),赶紧收藏

这篇具有很好参考价值的文章主要介绍了【Python】25道Python练手题(附详细答案),赶紧收藏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目 1:水仙花数

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number)

水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

for i in range(100, 1000):  
    i1 = i // 100       # 取百位数字 123//100=1  
    i2 = i // 10 % 10   # 取十位数字 123//10=12  12%10=2  
    i3 = i % 10         # 取个位数字 123%10=3  
  
    if i1 ** 3 + i2 ** 3 + i3 ** 3 == i:  
        print(f"{
     i}是水仙花数")  
        # 153 是水仙花数  
        # 370 是水仙花数  
        # 371 是水仙花数  
        # 407 是水仙花数  


题目 2:四叶玫瑰数

四叶玫瑰数是 4 位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。

(例如:当 n 为 3 时,有 1^3 + 5^3 + 3^3 = 153,153 即是 n 为 3 时的一个自幂数,3 位数的自幂数被称为水仙花数)。

for i in range(1000,10000):  
    i1 = i // 1000      # 取千位数字 1234//1000=1  
    i2 = i // 100 % 10  # 取百位数字 1234//100=12  12%10=2  
    i3 = i // 10 % 10   # 取十位数字 1234//10=123  123%10=3  
    i4 = i % 10         # 取个位数字 1234%10=4  
    # print(i,i1,i2,i3,i4)  
  
    if i1 ** 4 + i2 ** 4 + i3 ** 4 + i4 ** 4 == i:  
        print(f'{
     i}是四叶玫瑰数')  
        # 1634 是四叶玫瑰数  
        # 8208 是四叶玫瑰数  
        # 9474 是四叶玫瑰数  


题目 3:逆序输出字符串

  • 写法 1:切片方式
str = input("请输入字符串")  
print(str[::-1])  


  • 写法 2:循环转换
str = input("请输入字符串")  
list = []  
for x in range(len(str) -1,-1,-1):  
    list.append(str[x])  
print(''.join(list))  


题目 4:猜数字小游戏

需求分析:

随机生成一个 100 以内的整数,共有 10 次机会开始游戏,输入猜测的数字。

  • 如果猜小了,则提示:猜小了

  • 如果猜大了,则提示:猜大了

  • 猜对了,则提示:猜对了,并且结束游戏

  • 10 次机会用完还没猜对,提示:游戏结束,没有猜到。

import random as rd  
  
number = rd.randint(0,100)  
for i in range(10):  
    choice = int(input("请输入你要猜测的数字:"))  
    if choice > number:  
        print("你猜大了")  
    elif choice < number:  
        print("你猜小了")  
    else:  
        print("你猜对了,真棒!")  
        print(f'你一共用了{
     i + 1}次机会')  
        break  
    print(f'还剩{
     9 - i}次机会')  
else:  
    print('游戏结束,你没有猜到')  


题目 5:百鸡百钱

需求分析:

公鸡每只 5 元,母鸡每只 3 元,小鸡 3 只一元,现要求用 100 元钱买 100 只鸡(三种类型的鸡都要买),问公鸡、母鸡、小鸡各买几只?

数学方程:

  • 设公鸡买了 x 只,母鸡买了 y 只,小鸡买了 z 只

  • x+y+z= 100

  • 5x+3y+z/3 = 100

算法思路

  • 以公鸡为突破点,公鸡 5 元一只,100 元最多只能买 20 只,

  • 由于三种鸡都要买,所以公鸡数一定是小于 20 的。

  • 母鸡每只 3 元,100 全拿来买母鸡,最多也不能超过 33 只

  • 设公鸡数为 x,母鸡数为 y,小鸡 z 只

  • 只要满足 5x+3y+z/3=100 和 x+y+z==100 就可以输出此种组合的结果.

count = 0  
for x in range(1,20):  
    for y in range(1,33):  
        z = 100 - x -y  
        if z > 0 and 5 * x + 3 * y + z / 3 == 100:  
            count += 1  
            print("="*60)  
            print(f'第{
     count}种买法,公鸡买了{
     x}只,母鸡买了{
     y}只,小鸡买了{
     z}只')  
            # == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==  
            # 第1种买法,公鸡买了4只,母鸡买了18只,小鸡买了78只  
            # == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==  
            # 第2种买法,公鸡买了8只,母鸡买了11只,小鸡买了81只  
            # == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==  
            # 第3种买法,公鸡买了12只,母鸡买了4只,小鸡买了84只  


题目 6:闰年问题升级版

输入年月日,输出该日期是否是闰年,并且输出该日期是此年份的第几天

闰年判断条件:

  • 能被 4 整除,并且不能被 100 整除

  • 能被 400 整除

  • 两个条件满足任意一个就为闰年

算法思路:

  • 接收用户输入的年月日,创建保存 12 个月份天数的列表

  • 根据年份判断是否是闰年,如果是把二月份设为 29 天,否则把二月份设为 28 天

  • 根据月份和日期统计是当年的第几天文章来源地址https://www.toymoban.com/news/detail-763821.html

year = int(input("请输入年份"))  
month = int(input("请输入月份"))  
day = int(input("请输入日期"))  
  
date_list = [31,29,31,30,31,30,31,31,30,31,30,31]  
count_day = day  
if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:  
    print(f'{
     year

到了这里,关于【Python】25道Python练手题(附详细答案),赶紧收藏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python小案例1:水仙花数及其自幂数

    用Python实现,水仙花数 水仙花 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身。 ​ 自幂数 是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。 例如:1 3 + 5 3 + 3 3 = 153。

    2024年02月01日
    浏览(47)
  • 水仙花数(Java解法)

            水仙花数是指一个 3 位数,它每位上的数字的 3 次幂之和等于它本身(例如: 1³ + 5³+ 3³ = 153 ),水仙花数的取值范围在 100~1000 之间。         这个题需要把所以的数字都拿到,然后与 每位上的数字的 3 次幂之和它本身做判断后进行输出。首先,需要使用取余

    2024年02月02日
    浏览(29)
  • C语言打印水仙花数

    “水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1 3+5 3+3^3,则153是一个“水仙花数”。 思路,先把每个数的每位算出来,然后再判断他们的3次方相加是否=这个数,如果等于他就是水仙花数,那么就打印出来

    2024年02月15日
    浏览(26)
  • 值得苦练的100道Python经典练手题,(附详细答案)

    嗨喽大家好卷子又来了,100道Python经典练手题奉上 花了一周的时间,整理了100道Python的练习题,如果你是一位初学者,那么这一份练习题将会给你带来极大的帮助,如果你能够完全独立的完成这份练习题,你已经入门的Python了,练习题涵盖Python基础的大部分内容: Python100经

    2024年01月25日
    浏览(34)
  • 【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环

    更新一些最近学习到的Python实用小技巧,这里的每一个小题都不难,几乎没有涉及到难的算法,算是对Python的学习做了一些总结。对初学者十分的友好。🤡 先介绍一下每一个题使用了什么编程小技巧。 进制转换 :(在Python中如何进行进制转换) 特殊回文数 :(回文数的另一种表示

    2023年04月08日
    浏览(46)
  • c语言--使用函数输出水仙花数

    函数接口定义  1、int narcissistic( int number ); 2、void PrintN( int m, int n ); 函数   narcissistic  判断    number  是否为水仙花数,是则返回1,否则返回0。 函数   PrintN  则打印开区间  ( m ,  n )  内所有的水仙花数,每个数字占一行。  题目保证100≤ m ≤ n ≤10000。  裁判测试程序

    2024年02月07日
    浏览(37)
  • PTA 编程题(C语言)-- 水仙花数

    题目标题:水仙花数             题目作者:徐镜春  浙江大学 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+5^3+3^3。 本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3≤N≤7)。 输出

    2024年02月04日
    浏览(75)
  • 【C语言必刷题】6. 水仙花数

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点,相互学习进步! 水仙花数 的定义:一个三

    2024年04月10日
    浏览(26)
  • C语言每天一练----输出水仙花数

    2024年02月15日
    浏览(65)
  • C语言 打印0~100000之内的水仙花数

    已知: //求出0~100000之间的所有“水仙花数”并输出。 //水仙花数”是指一个n位数,其各位数字的n次方之和确好 // 等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

    2024年01月25日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包