打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【python基础语法】国庆扩展练习题
'''一、国庆知识小拓展1、 用户登陆程序需求:1. 输入用户名和密码;2. 判断用户名和密码是否正确? (name='root', password='123')3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 提示错误次数过多,账号已被冻结;2、给定一个句子(只包含字母和空格), 将句子中的单词位置反转比如: “hello xiao mi” > “mi xiao hello”3、运行程序,提示用户依次输入三个整数x,y,z,请把判断三个数的大小,然后由小到大打印输出到控制台。4、 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?5、题目:猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半 在加一个。到第10天早上想再吃时,见只剩下一个桃子了。请通过一段通过代码来计算第一条摘了多少个桃子?6、题目:输入某年某月某日,判断这一天是这一年的第几天?7、小明有100块钱 ,准备买100本书,a类数5元一本,b类书3元一本,c类书 1元2本。请计算小明有多少种购买的方式?8、题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?9、编写一个自动售货机,运行功能如下:1、请按下面提示,选择购买的商品1). 可乐 2.5元   2). 雪碧 2.5元   3). 哇哈哈 3元   4). 红牛 6元   5). 脉动 4元   6). 果粒橙 3.5元2、提示用户投币(支持1元,5元,10元)用户输入投币金额,用户投币金额不够商品价格,继续提示投币,当投币超过商品价格,则返回商品和找零,然后结束程序'''"""第一题:用户登陆程序需求:1. 输入用户名和密码;2. 判断用户名和密码是否正确? (name='root', password='123')3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 提示错误次数过多,账号已被冻结;"""# 方式一def user_login():    i = 0    while True:        user_name = input("请输入用户名:")        password = input("请输入密码:")        user_storage = {"name": "root", "password": "123"}        if i < 3:            if user_name == user_storage["name"] and password == user_storage["password"]:                print("登录成功!")                break            else:                i  = 1                print("您输入的账号或密码错误,请重新输入!")        else:            print("错误次数过多,账号已被冻结")user_login()# 方式二def user_login():    for i in range(1,4):        user_name = input("请输入用户名:")        pass_word = input("请输入密码:")        if user_name == 'root' and pass_word == "123":            print("登录成功!")            break        else:            print("您输入的账号或者密码有误,您还有{}次输入计会".format(3-i))    else:        print('今日的三次机会已用完,错误次数过多,账号已被冻结')user_login()"""第二题:给定一个句子(只包含字母和空格)将句子中的单词位置反转,比如:  “hello xiao mi”> “mi xiao hello”"""def String_inversion():    str = "hello xiao mi"    # 字符串转换为列表,以空格作为分隔符    list = str.split(" ")    # 列表元素反转,不用    list.reverse()    # 将列表重新拼接为字符串    str1 = " ".join(list)    print(str1)String_inversion()"""第三题:运行程序,提示用户依次输入三个整数x,y,z,请把判断三个数的大小,然后由小到大打印输出到控制台。"""def number_sort():    x = int(input("请输入第一个整数:"))    y = int(input("请输入第二个整数:"))    z = int(input("请输入第三个整数:"))    li = [x,y,z]    li.sort()    for num in li:        print(num)number_sort()"""第四题:题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?"""# 方法一:def sum_high():    # 记录次数    i = 0    # 定义总距离    sum_high = 0    # 第一次下落高度    high = 100    while True:        if i < 11:            # 落下的距离   反弹的距离   经过的距离            sum_high = sum_high   high   high/2            # 反弹的距离            high = high/2            i  = 1        else:            print("共经过{}米".format(sum_high - high))            print("第10次反弹{}米".format(high))            breaksum_high()# 方法二:def sum_high():    # 定义总距离    sum_high = 0    # 第一次下落高度    high = 100    for i in range(10):        sum_high = sum_high   high   high/2        high = high/2    print("共经过{}米".format(sum_high - high))    print("第10次反弹{}米".format(high))sum_high()"""第五题:题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,多吃了一个。以后每天早上都吃了前一天剩下的一半  在加一个。到第10天早上想再吃时,见只剩下一个桃子了。请通过一段通过代码来计算第一条摘了多少个桃子?"""def Peach_quantity():    sum = 1    for i in range(10):        print("第{}天的桃子数量:{}".format(10 - i, sum))        sum = (sum    1)*2Peach_quantity()"""第六题题目:输入某年某月某日,判断这一天是这一年的第几天?"""def work6():    str1 = input("请输入年月日:例 2019-9-29:")    # 获取年月日,转换位数值类型    year, month, day = str1.split('-')    year = int(year)    month = int(month)    day = int(day)    # 公历闰年判定遵循的规律为:四年一闰、百年不闰、400年再闰    # 判断是否位闰年(公历闰年的计算方法:普通年能被四整除且不能被100整除的为闰年)    if (year % 100 == 0 and year % 400 == 0) or (year % 100 != 0 and year % 4 == 0):        # 正常的年份        r_days = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]        data =  r_days[month - 1]   day    else:        days = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]        data = days[month- 1]   day    print('这个{}年的第{}天'.format(year,data))work6()"""# 第七题7、小明有100块钱 ,准备买100本书,a类数5元一本,b类书3元一本,c类书 1元2本。请计算小明有多少种购买的方式?"""def work7():    count = 0    for a in range(100 // 5   1):        for b in range(100 // 3  1):            if a * 5   b * 3   (100 - a - b) * 0.5 <= 100:                count  = 1    print(count)work7()"""# 第八题8、题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?"""def work8():    i = int(input("请输入当月利润:"))    if i <= 10:        salary = i * 0.1        print("应发放奖金总数为:{}万".format(salary))    elif i <= 20 and i > 10:        salary = 10 * 0.1   (i-10)*0.075        print("应发放奖金总数为:{}万".format(salary))    elif i <= 40 and i > 20:        salary = 10 * 0.1   10 * 0.075   (i - 20) * 0.05        print("应发放奖金总数为:{}万".format(salary))    elif i <= 60 and i > 40:        salary = 10 * 0.1   10 * 0.075   20 * 0.05   (i - 40) * 0.03        print("应发放奖金总数为:{}万".format(salary))    elif i <= 100 and i > 60:        salary = 10 * 0.1   10 * 0.075   20 * 0.05   20 * 0.03   (i - 60) * 0.015        print("应发放奖金总数为:{}万".format(salary))    else:        salary = 10 * 0.1   10 * 0.075   20 * 0.05   20 * 0.03   40 * 0.015   (i - 100) * 0.01        print("应发放奖金总数为:{}万".format(salary))work8()"""# 第九题:编写一个自动售货机,运行功能如下:1、请按下面提示,选择购买的商品    1). 可乐  2.5元    2). 雪碧  2.5元    3). 哇哈哈   3元    4). 红牛  6元    5). 脉动   4元    6). 果粒橙 3.5元2、提示用户投币(支持1元,5元,10元)    用户输入投币金额,        用户投币金额不够商品价格,继续提示投币,    当投币超过商品价格,则返回商品和找零,然后结束程序"""def work9():    print("请按下面提示选择购买的商品:")    print("1). 可乐  2.5元")    print("2). 雪碧  2.5元")    print("3). 哇哈哈   3元")    print("4). 红牛  6元")    print("5). 脉动   4元")    print("6). 果粒橙 3.5元")    num = input("请输入您的选项:")    if num == "1":        print("您购买的是可乐,需要支付金额为2.5元")        price = 2.5    elif num == "2":        print("您购买的是雪碧,需要支付金额为2.5元")        price = 2.5    elif num == "3":        print("您购买的是哇哈哈,需要支付金额为3元")        price = 2.5    elif num == "4":        print("您购买的是红牛,需要支付金额为6元")        price = 2.5    elif num == "5":        print("您购买的是脉动,需要支付金额为4元")        price = 2.5    elif num == "6":        print("您购买的是果粒橙,需要支付金额为3.5元")        price = 2.5    else:        print("您的输入有误!")        # 输入错误的情况下使用return终止函数的运行(退出程序)。        return    # 用户投币    money = 0    while money < price:        m = input("请输入投币金额【支持1元,5元,10元】:")        if m in ["1", "5", "10"]:            money  = int(m)        else:            print("您投币的金额有误或者不支持该面额")    else:        print("您的投币金额为{}元,商品的价格为{}元,找零{}元".format(money, price, (money - price)))work9()

 

来源:https://www.icode9.com/content-1-641101.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python求 N 个数字的平均值
Python语言程序设计基础(第二版)嵩天等课后习题答案
【Python】入门了解
编程语言入门经典100例【Python版】
如何避开变量作用域的陷阱
山腰课后题参考答案(每天补充)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服