14道基础Python练习题(附答案)
⽬录
1. 输⼊⼀个百分制成绩
2. 篮球⽐赛案例
3.根据y=1+3-1+3-1+……+(2n-1)-1,求:
4. 购物卡案例
5. 设计⼀个猜数游戏
6.建⽴1个包含10个字符的字符串
7. 编写函数
python基础代码练习8. 赶鸭⼦
9.将复数2.3×103-1.34×10-3j赋值给变量A,并分别提取A的实部和虚部。
10.计算下列表达式的值
11.建⽴⼀个包含10个字符的字符串A,然后对该字符串进⾏如下操作:
12.分别格式化输出0.002178对应的科学表⽰法形式
13.编写程序
14.数字加密游戏
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);
计算平⽅后的结果;
如果得到的结果⽐当前⽐赛剩余时间的秒数⼤,则领先是“安全”的。
请编写程序实现上述算法的功能,并给出运⾏结果。
代码:
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元正好花掉,可有哪些购买组合?
代码:
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个字符的字符串
建⽴1个包含10个字符的字符串,并根据键盘输⼊的数字n输出字符串中的第n个字符。当n值超过字符串的索引时,⾃动转为输出字符串中的最后1个字符。
要求:
⽤try语句实现。
代码:
n=int(input('请输⼊数字n:'))
a='pengyuanyu'
try:
print(a[n-1])
except:
print(a[9])
输出:
请输⼊数字n:5
y
7. 编写函数
下拉列表内容怎么设置该函数可以输⼊任意多个数,函数返回输出所有输⼊参数的最⼤值、最⼩值和平均值。
代码:
阿里云 openstackimport 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. 赶鸭⼦
⼀个⼈赶着鸭⼦去每个村庄卖,每经过⼀个村⼦卖去所赶鸭⼦的⼀半⼜⼀只。这样他经过了七个村⼦后还剩两只鸭⼦,问他出发时共赶多少只鸭⼦?
要求:
利⽤递归函数编程实现。
代码:
unix和linux区别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)
>>> al)
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)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论