美文网首页
python练习题

python练习题

作者: 今天学习吗 | 来源:发表于2021-01-29 16:41 被阅读0次

1、简单的if判断语句

while True:
     man = int(input("请输入群里最美的人: "))
     if 0 <= man <= 10:
       if man <= 0:
         print("请重新输入!")
       elif 0< man <=10:
         print("恭喜你输入正确,最美的是xx")
     else:
       print("输入错误了,请输入0-10")

2、练习题

小明去超市购物: 价格如下:口罩:3.5一个 荔枝:12元一斤 猪肉 :26元一斤 小明购买了3个口罩,2斤荔枝,半斤猪肉。
结账的时候,老板宣布所有商品全部打8折。请编写程序计算最终 的应付款 :
 kouzhao = 3.5 #定义一个口罩,单价是3.5一个
 lizhi = 12 #定义荔枝,12元一斤
 zhurou = 26 #定义猪肉,26一斤
 money = kouzhao * 3 + lizhi * 2 + zhurou * 0.5
 print("应付金额为:",money)
 shiji = money * 0.8
 print('实际金额为:',shiji)

3、练习题

从键盘上获取3个数,判断是否构成三角形
如果为等腰三角形输出‘等腰三角形’
如果为等边三角形输出‘等边三角形’
如果为等腰直角三角形输出‘等腰直角三角形’
如果为直角三角形,但不是等腰三角形,则输出‘普通直角三角形’
否则输出不规则普通三角形
分析
2.1 三角形三遍必须为正数
2.2 任意两边之和大于第三边
2.3 如果三边都相等,组成等边三角形
2.4 任意两边相等,但与第三条边不相等,则为等腰三角形
2.5 a^2+b^2=c^2 直角三角形
while True:
    a=input('请输入第一边:')
    b=input('请输入第二边:')
    c=input('请输入第三边:')
    if (a+b>c) or (a+c>b) or (b+c>a):
        print('是三角形')
        if (a==b!=c) or (a==c!=b) or(b==c!=a):
            print('是等腰三角形')
        elif (a==b==c):
            print('是等边三角形')
    else:
        print('不是三角形')

4、练习题

定义布尔型变量has_ticket 表示是否有车票
定义整形变量 knife_length 表示刀的长度:单位:cm
首先,检查是否有车票,如果有,才允许进行安检
安检时,需要检查刀的长度,判断是否超过20cm
如果超过20cm,提示刀的长度,不允许上车
如果不超过20cm,安检通过
如果没有车票,不允许进门
while True:
    has_ticket = input("请选择是否有车票[true,false]:")
    if has_ticket in['true','false']:
        if has_ticket=='true':
            changdu=input('请输入刀的长度:')
            try:
                changdu=float(changdu)
                if changdu>0:
                    if changdu>20:
                        print('您的刀的长度为%d,安检不通过,不能上车' %changdu)
                    else:
                        print('您的刀的长度为%d,安检通过,可以上车' % changdu)
                else:
                    print('您输入有误,刀的长度为正数')
            except:
                print('您输入有误,刀的长度为正数')
        else:
            print('您没有车票,不能上车!')
    else:
        print('您输入无效,请输入true或false')

5、练习题

if __name__ == '__main__':#程序入口
    while True:
    #1打印欢迎界面
        print('============欢迎使用分数查询系统=============')#打印界面
        print('1、查询等级')
        print('q、退出系统')
        print('===========================================')
        #2获取用户的键盘输入
        cmp = input('请选择:')
        #3判断用户输入
        if cmp=='1':
        #3(请输入分数:)
            score = input('请输入你的分数:')
            try:
                score=float(score)
                if score>=0 and score<=60:
                    print('不及格')
                elif score>=60 and score <=70:
                    print('及格')
                elif score>=70 and score <=90:
                    print('良好')
                elif score>=90 and score <=100:
                    print('优秀')
                else:
                    print('输入的分数无效,请输入0-100的数字!')
            except:
                print('输入的分数有误,分数必须是数字')
        elif cmp=='q':
                print('程序结束啦!')

        else:
             print('您输入的有误,请重新输入1或q!')

6、练习题

import random as t

# 创建单词序列
words = ("easy", "difficult", "answer", "continue")
zi = ("容易", "困难", "回答", "继续")
hanzi = {"easy": "容易", "difficult": "困难", "answer": "回答", "continue": "继续", "blue": "蓝色"}
yin = {"容易": "easy", "困难": "difficult", "回答": "answer", "继续": "continue", "蓝色": "blue"}


def jiemian():
    print("""
                     欢迎来到背单词
        根据English回答汉语或者根据汉语回答English
        -------------------------------------------
                    1.English——>汉语

                    2.汉语——>English

                    3.单词列表

                    4.退出系统
""")


#######Zhang######  English——>汉语   ################################

def yyihan():
    n = 0
    m = 0
    su = 0
    iscontinue = "y"
    while iscontinue == "y" or iscontinue == "Y":
        word = t.choice(words)
        print("随机生成在单词:")
        print(">------>   " + word)
        guess = input("\n输入汉语: ").strip()  # 防止用户误操作录入空白
        while guess != hanzi[word]:
            print("对不起,不正确。")
            n = n + 1
            print('\n——>正确率:%.2f' % (m / (n + m)))
            guess = input("继续输入:").strip()
        if guess == hanzi[word]:
            print("真棒!答对了!!")
            m = m + 1
            print('\n——>正确率:%.2f' % (m / (n + m)))
        iscontinue = input("\nn\是否继续(Y/N):")


###############  汉语——>English   #########wei####################

def hanyiy():
    n = 0;
    m = 0;
    su = 0;
    iscontinue = "y"
    while iscontinue == "y" or iscontinue == "Y":
        hz = t.choice(zi)
        print("随机生成在汉语:")
        print(">------>   " + hz)
        guess = input("\n输入Ehglish: ").strip()
        while guess != yin[hz]:
            print("对不起,不正确。")
            n = n + 1
            print('\n——>正确率:%.2f' % (m / (n + m)))
            guess = input("继续输入:").strip()
        if guess == yin[hz]:
            print("真棒!答对了!!")
            m = m + 1
            print('\n——>正确率:%.2f' % (m / (n + m)))
        iscontinue = input("\nn\是否继续(Y/N):")


####bu##########################################################

def lib():
    print("************************")
    print("\n")
    for i in range(len(words)):
        print(words[i], "   ", zi[i], "\n")
    print("\n")
    print("************************")
    a = input("输入 1 背诵单词结束——>: ")


###################################################################

while True:
    jiemian()
    a = int(input("\n\n\n\选择需要进行的操作(1、2、3、4):"))
    if (a == 1):
        yyihan()
    elif a == 2:
        hanyiy()
    elif a == 3:
        lib()
    elif a == 4:
        exit()
    else:
        print("输入格式错误,重新输入!!")

7、练习题

#判断闰年:输入年份是否是闰年
#闰年规则:1,输入的年份必须是一个正整数
#          2,能被400整除的是世纪闰年
#           3,能被4整除,不能被100整除的就是普通闰年
#用户输入年份year,判断是否为闰年
while True:
    year=input('请输入一个年份:')
    try:
        year=int(year)
        if year>0:
            if year%400==0:
                print('%d是世纪闰年'%year)
            elif year%4==0 and year%100!=0:
                print('%d是普通闰年'%year)
        else:
            print('请输入年份为正整数')
    except:
        print('您的输入有误,请输入年份为正整数')

8、练习题

#分数查询系统:任意输入一个数
#如果小于400分,则为未考上大学
#如果400-500,则为考上大专
#如果500-550,则为考上大学
#如果550-750,则为考上一本
while True:
    score=input('请输入一个分数:')
    try:
        score=float(score)
        if score>=0 and score<=750:
            if score>=0 and score<400:
                print('您的分数为%d,未考上大学'%score)
            if score >=400 and score<500:
                print('您的分数为%d,考上大专'%score)
            if score >=500 and score<550:
                print('您的分数为%d,考上大学'%score)
            if score >= 550 and score <= 750:
                print('您的分数为%d,考上一本' % score)
        else:
            print('您的输入无效,请输入0-750之间的正数')
    except:
        print('您的输入有误,请输入分数为正数')

9、while循环练习题

#求1-10所有数的和
#sum=1+2+3+4+5+6...+10
sum=0  #保存最终结果
count=1 #控制循环次数
while count<=10:
    sum=sum+count  #第一次循环 sum=0+1 第二次循环 sum=1+2
    count+=1       #第一次循环结束 count=2 第二次循环结束 count=3
print('countd的值为:%d,1-10所有数的和为:%d'%(count,sum))

10、练习题

#判断用户输入的账号是否正确
#假设账号是test
#正常的逻辑:在合理的情况下应该要结束循环
#应该怎么设计程序:
#1、如果账号正确,退出循环
#2、如果账号不正确,继续输入,直到输入q,quit,exit就结束循环,用户主动退出
#3、如果账号错误达到3次,就结束循环
flag=True
err_number=0
while flag:
   username=input('请输入你的账号:')
   if username=='test':
       print('账号正确!')
       flag=False
   elif username in('q','quit','exit'):
       flag=False
       print('用户主动退出,程序结束!')
   else:
       err_number+=1
       if err_number==3:
           flag = False
           print('账号错误次数达到三次,账号锁定!')
       elif username!='test':
           print('账号错误,请重新输入!')

print('程序结束!')

11、循环控制语句break,continue练习题

#break 退出整个循环
#continue 结束本次循环
#pass 空语句

#1、打印2次,count的值为3
count=1
while count<=5:
    print('hello,python!')
    count +=1
    if count ==3:
        break #退出整个循环
print('程序结束,count的值为%d'%count)

#2、打印4次,count的值为6
count=1
while count<=5:
    count +=1
    if count ==3:
        continue #结束本次循环
    print('hello,python!')
print('程序结束,count的值为%d'%count)

#3、打印5次,count的值为6
count=1
while count<=5:
    count +=1
    if count ==3:
        pass #开发某些代码。还不知道具体执行什么代码?待开发
    print('hello,python!')
print('程序结束,count的值为%d'%count)

12、打印九九乘法表

# 九九乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\t'.format(j, i, i*j), end='')
    print()

相关文章

网友评论

      本文标题:python练习题

      本文链接:https://www.haomeiwen.com/subject/qwaqtltx.html