栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

基础Python练习题(附答案)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基础Python练习题(附答案)

基础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("请输入成绩:")) #eval() 函数用来执行一个字符串表达式,并返回表达式的值。
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")

运行结果:

请输入成绩:100
成绩为A
请输入成绩:10
成绩为E
请输入成绩:110
您输入的成绩不合理,请重新输入
2.购物卡案例

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

a=30
n=a//15     #返回商的整数部分
for i in range(n,-1,-1):     #i=2,1,0
    m=(a-i*15)//5            #m=0,3,6
    for j in range(m,-1,-1): #j=0;  3,2,1,0;  6,5,4,3,2,1,0
        k=(a-i*15-j*5)//2
        if (a-i*15-j*5)%2==0:
            print('可选择的购买组合:tt购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format(i,j,k))

运行结果:

可选择的购买组合:		购买洗发水 2 瓶,香皂 0 块,牙刷 0个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 3 块,牙刷 0个。
可选择的购买组合:		购买洗发水 1 瓶,香皂 1 块,牙刷 5个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 6 块,牙刷 0个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 4 块,牙刷 5个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 2 块,牙刷 10个。
可选择的购买组合:		购买洗发水 0 瓶,香皂 0 块,牙刷 15个。
3.猜数游戏

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

chose = 'y'
while chose=='Y' or chose=='y':
    import random   #导入python提供的random库
    num = random.randint(1,100)
    #randint产生的随机数包含左右极限,即包含1和100;而randrange产生的随机数区间只包含左极限
    def judge(b):      #define定义一个judge函数
        if b == num:
            return 1
        else:
            return 0

    for i in range(1,5): #i=1,2,3,4
        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 = '')
        #print默认是打印一行,结尾加换行。end=' '意思是末尾不换行,加空格
        chose=input()

输出:

请输入您第1次所猜的整数:50
You won !
请输入Y(y)继续进行游戏,N(n)退出游戏:y
请输入您第1次所猜的整数:10
low
请输入您第2次所猜的整数:30
low
请输入您第3次所猜的整数:50
high
请输入您第4次所猜的整数:45
high
You lost !
请输入Y(y)继续进行游戏,N(n)退出游戏:
4.篮球比赛案例

篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。体育作家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  #**”表示幂运算,例如“2**3”表示2的三次方
else:
    g=t-0.5
    if g<=0:
       g=0
    g=g**2
if g>time:
    print('领先是“安全”的')
else:
    print('领先是“不安全”的')

输出:

请输入领先分数:10
请输入剩余时间:9
目前是否为领先队控球(Y or N):y
领先是“安全”的
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/829741.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号