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

小小程序员ol 2021-10-27 21:49:47
Python 练习 基础 练习题 习题

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学习交流群:725638078
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.5
if g<=0:
g=0
g=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学习交流群:725638078
money=100
n=money//15
for i in range(n,-1,-1):
m=(money-i*15)//5
for j in range(m,-1,-1):
k=(money-i*15-j*5)//2
if (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 random
num = random.randint(1,100)
def judge(b):
if b == num:
return 1
else:
return 0
for i in range(1,8):
b=eval(input('请输入您第{}次所猜的整数:'.format(i)))
if judge(b)==1:
print("You won !")
break
elif 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学习交流群:725638078
n=int(input('请输入数字n:'))
a='pengyuanyu'
try:
print(a[n-1])
except:
print(a[9])

输出:

请输入数字n:5
y

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

代码:

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 2
else:
sum = f(n+1)*2+2
return 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%10
b=(n-a)%100/10
c=(n-a-10*b)%1000/100
d=(n-a-10*b-100*c)%10000/1000
a=a*7%10
b=b*7%10
c=c*7%10
d=d*7%10
n=1000*d+100*c+10*b+a
print(int(n))
elif n<=1000 or n>=9999:
print("您输入的数字不符合要求,请输入一个四位数字")

输出:

任意输入1个4位数:111
您输入的数字不符合要求,请输入一个四位数字
任意输入1个4位数: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

版权声明
本文为[小小程序员ol]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/python960410445/p/15473088.html

  1. python的site-packages复制直接到其他电脑环境上能用吗
  2. Pycharm如何给项目配置python解释器
  3. conda创建python虚拟环境
  4. Python selenium的爬虫无法完整爬取整个页面的内容
  5. 高清版!这18张 Python 数据科学速查表,让你的代码变得更强大!
  6. python代码不会敲,请好心老哥帮助我一下
  7. Python敲七输出符合的个数
  8. Python 有人能给提供简单的思路嘛
  9. python单次运行写入csv成功,循环写入失败
  10. python利用os模块进行增量备份
  11. 【算法学习】807. 保持城市天际线(java / c / c++ / python / go / rust)
  12. 如何利用python输出等腰杨辉三角
  13. python按键执行倒计时小程序不能实现要求,要怎么改才好?
  14. Python request模块post请求的问题
  15. Django连接已有Oracle时的主键设置问题,没主键无法查询怎么办?
  16. 如何用python的dictionary编写一个联系人通讯录程序
  17. 如果Python里range反向输出,不输出步长会怎么样?
  18. 一个关于Python pip的问题: 出现Cannot open \python\Scripts\pip-script.py报错
  19. 富婆闺蜜非让我用Python给她写个淘宝双十一抢购脚本,那只能安排了
  20. 【全网最全】python正则表达式大全,所有讲解都在这,包教包会,学不会找我!
  21. AI python课和 python课都是198 这两个课是同一个课程内容吗?有什么区别和相似点?
  22. python的__new__()疑问
  23. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  24. python怎么实现动态障碍物按固定路径行走
  25. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  26. Python题目,希望帮我解答一下辛苦
  27. python +selenium 如何获取下拉列表,默认选中值
  28. 有个pb文件做好的模型,对此模型的操作想用python封装成api,怎么做?
  29. 请问,mac的Pycharm中新建项目时候的Base interpreter选项里有两个Python3.8,该选哪个?
  30. python如何读取指定文件名的excel并分别汇总
  31. 如何写利用python将fastq文件转换成fasta文件的脚本
  32. python小工具
  33. 新猿0基础python教程 如何写好接口文档
  34. 请问我哪里错了呀,数值计算,python运算符号出错,但是我看不出来
  35. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(2)
  36. Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤
  37. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(3)
  38. 大神们这个问题用python怎么解决啊
  39. 简单理解python装饰器
  40. 货物托运收费问题用python 求解 一直输出错误
  41. 使用 Python 实现的卷积神经网络初学者指南
  42. 为什么Python中调用模块传递列表报错,而直接模块内调用列表就不会报错。
  43. 可视化 Python 打包 exe,这个神器绝了!
  44. 如此高效!数据科学中这4款 Python 神器真的很棒!
  45. 用 Python 开发交互式 Web 应用,So Easy
  46. Python多分类问题pr曲线绘制(含代码)
  47. 80 行 Python 代码搞定全国区划代码
  48. 有包含一阶贝塞尔函数的Python库吗
  49. Python输出乘法口诀表中的2d是什么意思
  50. Python 爬虫goole图片 使用selenium+chromedriver 出错DevToolsActivePort file doesn't exist
  51. python怎么做,我不会做,别走,留下代码!
  52. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  53. MySQL备份之xtrabackup(Python)
  54. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  55. Python:枚举列表中所有元素的可能组合
  56. 编写python 程序 人的心跳频率与温度的关系 计算人的累记心跳次数
  57. python相关,请问这张图里代码c for c in coinValueList if c&lt;=change是什么意思
  58. Python中的分段函数问题求解
  59. Python中的递归求年龄问题
  60. python如何求出多个股票的移动均价