14道Python基础练习题(附答案)

article/2025/9/19 17:31:07

1. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:

  • 用if语句实现;
  • 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

代码:

a=eval(input('请输入成绩:'))
if a<0 or a>100 or a%1!=0:print('您输入的成绩不合理,请检查后重新输入')
elif 90<=a<=100:print('成绩等级:A')
elif 80<=a<=89:print('成绩等级:B')
elif 70<=a<=79:print('成绩等级:C')
elif 60<=a<=69:print('成绩等级:D')
else:print('成绩等级:E')

输出:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。体育作家Bill James发明了一种算法,用于判断领先是否“安全”。

算法描述:

  • 获取领先的分数 ,减去3分;

  • 如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);

  • 计算平方后的结果;

  • 如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。

请编写程序实现上述算法的功能,并给出运行结果。

代码:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
grade=eval(input('请输入领先分数:'))
time=eval(input('请输入剩余时间:'))
t=grade-3
w=input('目前是否为领先队控球(Y or N):')
if w == 'Y' or w == 'y':g=(t+0.5)**2
else:g=t-0.5if g<=0:g=0g=g**2
if g>time:print('领先是“安全”的')
else:print('领先是“不安全”的')

输出:
在这里插入图片描述
在这里插入图片描述

3.根据y=1+3-1+3-1+……+(2n-1)-1,求:

  • y<3时的最大n值。

  • 与(1)的n值对应的y值。

    代码:

x=1
y=0
while y<3:y=y+1/(2*x-1)x=x+1
print('y<3时的最大n值为{}'.format(x-1))
print('与(1)的n值对应的y值为{}'.format(y-1/(2*x-1)))

输出:

y<3时的最大n值为57(1)的n值对应的y值为2.9945914066381527

4. 小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些购买组合?

代码:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
money=100
n=money//15
for i in range(n,-1,-1):m=(money-i*15)//5for j in range(m,-1,-1):k=(money-i*15-j*5)//2if (money-i*15-j*5)%2==0:print('可选择的购买组合:\t\t购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format(i,j,k))

输出:

可选择的购买组合:		购买洗发水 6 瓶,香皂 2 块,牙刷 0个。
可选择的购买组合:		购买洗发水 6 瓶,香皂 0 块,牙刷 5个。
可选择的购买组合:		购买洗发水 5 瓶,香皂 5 块,牙刷 0个。
可选择的购买组合:		购买洗发水 5 瓶,香皂 3 块,牙刷 5个。
可选择的购买组合:		购买洗发水 5 瓶,香皂 1 块,牙刷 10个。
可选择的购买组合:		购买洗发水 4 瓶,香皂 8 块,牙刷 0个。
可选择的购买组合:		购买洗发水 4 瓶,香皂 6 块,牙刷 5个。
可选择的购买组合:		购买洗发水 4 瓶,香皂 4 块,牙刷 10个。
可选择的购买组合:		购买洗发水 4 瓶,香皂 2 块,牙刷 15个。
可选择的购买组合:		购买洗发水 4 瓶,香皂 0 块,牙刷 20个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 11 块,牙刷 0个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 9 块,牙刷 5个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 7 块,牙刷 10个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 5 块,牙刷 15个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 3 块,牙刷 20个。
可选择的购买组合:		购买洗发水 3 瓶,香皂 1 块,牙刷 25个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 14 块,牙刷 0个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 12 块,牙刷 5个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 10 块,牙刷 10个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 8 块,牙刷 15个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 6 块,牙刷 20个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 4 块,牙刷 25个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 2 块,牙刷 30个。
可选择的购买组合:		购买洗发水 2 瓶,香皂 0 块,牙刷 35个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 17 块,牙刷 0个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 15 块,牙刷 5个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 13 块,牙刷 10个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 11 块,牙刷 15个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 9 块,牙刷 20个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 7 块,牙刷 25个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 5 块,牙刷 30个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 3 块,牙刷 35个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 1 块,牙刷 40个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 20 块,牙刷 0个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 18 块,牙刷 5个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 16 块,牙刷 10个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 14 块,牙刷 15个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 12 块,牙刷 20个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 10 块,牙刷 25个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 8 块,牙刷 30个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 6 块,牙刷 35个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 4 块,牙刷 40个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 2 块,牙刷 45个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 0 块,牙刷 50个。

5. 设计一个猜数游戏。首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。用户最多可以猜7次,如果7次均未猜中,则显示“You lost !”,并给出正确答案,游戏结束。游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。

代码:

chose = 'y'
while chose=='Y' or chose=='y':import randomnum = random.randint(1,100)def judge(b):if b == num:return 1else:return 0for i in range(1,8):b=eval(input('请输入您第{}次所猜的整数:'.format(i)))if judge(b)==1:print("You won !")breakelif b > num:print("high")elif b < num:print("low")if judge(b)==0:print("You lost !")chose=input('请输入Y(y)继续进行游戏,N(n)退出游戏:')while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n':print('输入有误,请重新输入Y(y)继续进行游戏,N(n)退出游戏:',end = '')chose=input()

输出:

请输入您第1次所猜的整数:2
low
请输入您第2次所猜的整数:5
low
请输入您第3次所猜的整数:8
low
请输入您第4次所猜的整数:7
low
请输入您第5次所猜的整数:50
low
请输入您第6次所猜的整数:60
low
请输入您第7次所猜的整数:80
high
You lost !
请输入Y(y)继续进行游戏,N(n)退出游戏:n

6. 建立1个包含10个字符的字符串,并根据键盘输入的数字n输出字符串中的第n个字符。当n值超过字符串的索引时,自动转为输出字符串中的最后1个字符。

要求:

用try语句实现。

代码:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
n=int(input('请输入数字n:'))
a='pengyuanyu'
try:print(a[n-1])
except:print(a[9])

输出:

请输入数字n:5
y

7. 编写函数,该函数可以输入任意多个数,函数返回输出所有输入参数的最大值、最小值和平均值。

代码:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import numpy as py
x=input('请输入一组数并用空格隔开:')
def f(x):lis =list(x.split(' '))for i in range(len(lis)):lis[i]=eval(lis[i])print('该组数值的最大值为:',max(lis))print('该组数值的最小值为:',min(lis))print('该组数值的平均值为:',py.mean(lis))
f(x)

输出:

请输入一组数并用空格隔开:5 4 10
该组数值的最大值为: 10
该组数值的最小值为: 4
该组数值的平均值为: 6.333333333333333

8. 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?

要求:利用递归函数编程实现。

代码:

def f(n):if n == 8:return 2else:sum = f(n+1)*2+2return sum
print('一共有{}只鸭子'.format(f(1)))

输出:

一共有510只鸭子

9.将复数2.3×103-1.34×10-3j赋值给变量A,并分别提取A的实部和虚部。

代码:

>>> A=complex(2.3e3,-1.34e-3)
>>> print(A.real)
2300.0
>>> print(A.imag)
-0.00134

10.计算下列表达式的值:

在这里插入图片描述

代码:

import math
z1=(2*(math.sin(math.pi*85/180)))/(1+math.e**2)
print(z1)

输出:

0.23749863783095462

在这里插入图片描述
其中x是从键盘获取的任意实数。
代码:

import math
x=int(input('请输入整数:'))
z2=1/2*math.log(x+math.sqrt(1+math.pow(x, 2)))
print(z2)

输出:

请输入整数:5
1.1562191706363762

11.建立一个包含10个字符的字符串A,然后对该字符串进行如下操作:

(1)计算输出字符串的长度;

(2)从第1个字符开始,每间隔2个字符取1个字符,组成子字符串B;

(3)将字符串A倒过来重新排列产生新的字符串C;

(4)将字符串A的前4个字符与字符串C的后5个字符进行组合,产生字符串D。

代码:

 A=input()>>> len(A)>>> B=print(A[::3])>>> C=print(A[::-1])>>> D=print(A[:3]+C[-5:])

12.分别格式化输出0.002178对应的科学表示法形式、具有4位小数精度的浮点数形式和百分数形式,并将输出宽度设定为10、居中对齐、星号*填充。

代码:

x=0.002178
print("x对应的科学表示法形式为:",("%e"%x).center(10,'*'))
print('x具有4位小数精度的浮点数形式为:',('{0:.4f}'.format(x)).center(10,'*'))
print('x百分数形式为:',(('{0:.2f}%'.format(x*100)).center(10,'*')))

输出:

x对应的科学表示法形式为: 2.178000e-03
x具有4位小数精度的浮点数形式为: **0.0022**
x百分数形式为: **0.22%***

13.编写程序,从键盘输入一个1~7的数字,格式化输出对应数字的星期字符串名称。如:输入3,返回“您输入的是星期三”。

代码:

n =int(input('输入一个1~7的数字:'))
if(n==1):print("您输入的是星期一")
elif(n==2):print("您输入的是星期二")
elif(n==3):print("您输入的是星期三")
elif(n==4):print("您输入的是星期四")
elif(n==5):print("您输入的是星期五")
elif(n==6):print("您输入的是星期六")
elif(n==7):print("您输入的是星期日")

输出:

输入一个1~7的数字3
您输入的是星期三

14.数字加密游戏:编程程序,从键盘任意输入1个4位数,将该数字中的每位数与7相乘,然后取乘积结果的个位数对该数字进行替换,最后得到1个新的4位数。

代码:

n = int(input('任意输入1个4位数:'))
if 1000<=n<=9999:a=n%10b=(n-a)%100/10c=(n-a-10*b)%1000/100d=(n-a-10*b-100*c)%10000/1000a=a*7%10b=b*7%10c=c*7%10d=d*7%10n=1000*d+100*c+10*b+aprint(int(n))
elif n<=1000 or n>=9999:print("您输入的数字不符合要求,请输入一个四位数字")

输出:

任意输入14位数:111
您输入的数字不符合要求,请输入一个四位数字任意输入14位数:6666
2222

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web


http://chatgpt.dhexx.cn/article/o5dK3SRf.shtml

相关文章

值得收藏的30道Python基础练手题(附详解)

今天给大家分享30道Python练习题&#xff0c;建议大家先独立思考一下解题思路&#xff0c;再查看答案。 1. 已知一个字符串为 “hello_world_JMzz”&#xff0c;如何得到一个队列 [“hello”,”world”,”JMzz”] &#xff1f; 使用 split 函数&#xff0c;分割字符串&…

入门Python必备100道练习题

给大家整理了这份今天给大家分享100道Python练习题。 在此之前&#xff0c;先给大家推荐一个工具&#xff0c;是一个对 Python 运行原理进行可视化分析的工具&#xff0c;Python Tutor&#xff0c; 点击 Next 按钮就会根据执行步骤显示原理&#xff0c;对新手理解代码运行原理…

值得收藏的25道Python练手题(附详细答案)

来源丨吾爱破解 题目 1&#xff1a;水仙花数 水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff09…

值得苦练的100道Python经典练手题,(附详细答案)

嗨喽大家好卷子又来了&#xff0c;100道Python经典练手题奉上 花了一周的时间&#xff0c;整理了100道Python的练习题&#xff0c;如果你是一位初学者&#xff0c;那么这一份练习题将会给你带来极大的帮助&#xff0c;如果你能够完全独立的完成这份练习题&#xff0c;你已经入…

经典论文-SeNet论文及实践

Squeeze-and-Excitation Networks 作者&#xff1a;Jie Hu, Li Shen&#xff0c; Samuel Albanie&#xff0c; Gang Sun, Enhua Wu单位&#xff1a; Chinese Academy of Sciences论文地址&#xff1a; https://arxiv.org/pdf/1709.01507.pdf项目地址&#xff1a;https://githu…

SENet双塔模型:在推荐领域召回粗排的应用及其它

目前&#xff0c;双塔结构在推荐领域里已经是个常规方法了&#xff0c;在召回和粗排环节的模型选型中&#xff0c;被广泛采用。其实&#xff0c;不仅仅是在推荐领域&#xff0c;在其它领域&#xff0c;双塔结构也已经被越来越多得用起来了。比如&#xff0c;在当代搜索引擎的召…

SENet讲解

卷积就是在卷空间信息&#xff0c;可通道信息也大不相同&#xff0c;有的通道信息重要&#xff0c;而有点通道信息是无用的。 对特征图U的每个通道应用全局平均池化层&#xff08;avg)&#xff0c;可以得到该特征通道的常数标量。然后经过两个FC层得到C个权重系数&#xff0c;…

senet模型代码解读

网络架构图&#xff1a; 准备模型&#xff1a; model_name se_resnext101_32x4d model MODEL( num_classes 500 , senet154_weight WEIGHT_PATH, multi_scale True, learn_regionTrue) model torch.nn.DataParallel(model) vgg16 model vgg16.load_state_dict(torch.loa…

SENet(2017)

卷积核作为卷积神经网络的核心&#xff0c;通常被看作是在局部感受野上&#xff0c;将空间上&#xff08;spatial&#xff09;的信息和特征维度上&#xff08;channel-wise&#xff09;的信息进行聚合的信息聚合体。卷积神经网络由一系列卷积层、非线性层和下采样层构成&#x…

SENet

这篇文章出自《Squeeze-and-Excitation Networks》&#xff0c;在ILSVRC-2017分类挑战赛上获得了冠军。 1. 研究问题 大多数CNN都研究如何捕获特征的空间相关性来提高网络的表示能力&#xff0c;这篇文章研究的是捕获特征通道之间的相关性来提高网络性能。 2. 研究方法 提出…

SENET和GateNet(推荐系统(embedding))

SENET介绍 SENET是在论文《Squeeze-and-Excitation Networks》中提出来的&#xff0c;应用在图像处理上的。主要思想&#xff1a;通过建模channel之间的关系来矫正channel的特征&#xff0c;以此提升神经网络的表征能力。&#xff08;原文&#xff1a;adaptively recalibrates…

SENet解析

1 前言 在深度学习领域&#xff0c;CNN分类网络的发展对其它计算机视觉任务如目标检测和语义分割都起到至关重要的作用&#xff0c;因为检测和分割模型通常是构建在CNN分类网络&#xff08;称为backbone&#xff09;之上。提到CNN分类网络&#xff0c;我们所熟知的是VGG&#…

SENet详解

SENet是ImageNet 2017&#xff08;ImageNet收官赛&#xff09;的冠军模型&#xff0c;和ResNet的出现类似&#xff0c;都在很大程度上减小了之前模型的错误率&#xff08;具体见附录&#xff09;&#xff0c;并且复杂度低&#xff0c;新增参数和计算量小。下面就来具体介绍一些…

SENet概览

一、背景 在深度学习领域&#xff0c;已经有很多成果通过在空间维度上对网络的性能进行了提升。但是&#xff0c;SENet反其道而行之&#xff0c;通过对通道关系进行建模来提升网络的性能。Squeeze和Excitation是两个非常关键的操作&#xff0c;所以SENet以此来命名。SENet的动机…

深度学习理论篇之 ( 十八) -- 注意力机制之SENet

科普知识 ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge&#xff09;是机器视觉领域最受追捧也是最具权威的学术竞赛之一&#xff0c;代表了图像领域的最高水平。 ImageNet数据集是ILSVRC竞赛使用的是数据集&#xff0c;由斯坦福大学李飞飞教授主导&am…

【深度学习】(8) CNN中的通道注意力机制(SEnet、ECAnet),附Tensorflow完整代码

各位同学好&#xff0c;今天和大家分享一下attention注意力机制在CNN卷积神经网络中的应用&#xff0c;重点介绍三种注意力机制&#xff0c;及其代码复现。 在我之前的神经网络专栏的文章中也使用到过注意力机制&#xff0c;比如在MobileNetV3、EfficientNet网络中都是用了SE注…

[ 注意力机制 ] 经典网络模型1——SENet 详解与复现

&#x1f935; Author &#xff1a;Horizon Max ✨ 编程技巧篇&#xff1a;各种操作小结 &#x1f387; 机器视觉篇&#xff1a;会变魔术 OpenCV &#x1f4a5; 深度学习篇&#xff1a;简单入门 PyTorch &#x1f3c6; 神经网络篇&#xff1a;经典网络模型 &#x1f4bb; …

算法 雪花算法 Python

Twitter 于 2010 年开源了内部团队在用的一款全局唯一 ID 生成算法 Snowflake&#xff0c;翻译过来叫做雪花算法。Snowflake 不借助数据库&#xff0c;可直接由编程语言生成&#xff0c;它通过巧妙的位设计使得 ID 能够满足递增属性&#xff0c;且生成的 ID 并不是依次连续的。…

聊聊雪花算法?

随便聊聊 哈喽&#xff0c;大家好&#xff0c;最近换了份工作&#xff0c;虽然后端技术栈是老了点&#xff0c;但是呢&#xff0c;这边的前端技术确是现在市面上最新的那一套技术&#xff1a;Vue3ViteTSXPinaElement-PlusNativeUI。我本人主要是学后端的&#xff0c;确被拉去做…

雪花算法生成实例

雪花算法生成实例 一、集群高并发情况下如何保证分布式唯一全局id生成&#xff1f;1.1 为什么需要分布式全局唯一ID以及分布式ID的业务需求1.2 ID生成规则部分硬性要求1.3 ID号生成系统的可用性要求 二、一般通用方案2.1 UUID2.2 数据库自增主键2.3 基于Redis生成全局id策略2.4…