2021-05-07

分支编程

1.任意输入年、月、日,输出这一天是这一年的第几天

  提示:考虑是否是闰年

year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入日期:"))
run_day=[31,29,31,30,31,30,31,31,30,31,30,31]
prun_day=[31,28,31,30,31,30,31,31,30,31,30,31]
if (year%400==0) or (year%4==0  and not year%100==0):
    days =sum(run_day[:month - 1]) + day
    print("{}年的第{}天".format(year,days))
else:
    days =sum(prun_day[:month - 1]) + day
    print("{}年的第{}天".format(year,days))

2.企业发放的奖金根据利润提成。

(1)利润低于或等于10万元时,奖金可提10%;

(2)利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;

(3)20万到40万之间时,高于20万元的部分,可提成5%;

(4)40万到60万之间时高于40万元的部分,可提成3%;

(5)60万到100万之间时,高于60万元的部分,可提成1.5%,

(6)高于100万元时,超过100万元的部分按1%提成,

从键盘输入当月利润I,求应发放奖金总数

3.四则计算器,从键盘输入两个数和一个运算符(+-*/),根据运算符计算表达式的结果。

  提示:请考虑除数为0的情况

yuelirun = float(input("请输入当月利润,单位:万元:"))
if yuelirun <= 10:
    tc = 10 * 0.1
elif 10 < yuelirun <= 20:
    tc = 10 * 0.1 + (yuelirun-10) * 0.075
elif 20 < yuelirun <= 40:
    tc = 10 * 0.1 + 10 * 0.075 + (yuelirun-20) * 0.05
elif 40 < yuelirun <= 60:
    tc = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + (yuelirun-40) * 0.03
elif 60 < yuelirun <= 100:
    tc = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (yuelirun-60) * 0.015
elif yuelirun > 100:
    tc = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (yuelirun-100) * 0.015
print("应发放奖金总为:{}万元".format(tc))

 

用while语句实现下面的编程题目

 

1.计算从1到1000以内所有奇数的和并输出

aList=range(1001)
aa = 0
for i in aList[1::2]:
    print(i)
    aa+=i
print(aa)

 

2.求1--100之间可以被7整除的数的个数
aa = 0
for i in range(1,101):
    if i%7 ==0:
        aa+=1
print(aa)

 

3.计算从1到100以内所有3的倍数的和
aa = 0
for i in range(1,101):
    if i%3 ==0:
        print(i)
        aa+=i
print(aa)

4.计算从1到100以内所有能被3或者17整除的数的和并输出

aa = 0
for i in range(1,101):
    if i%3 ==0 or i%17 ==0 :
        print(i)
        aa+=i
print(aa)

 

5.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数
aa = 0
for i in range(1,101):
    if (i % 3 == 0 and i % 7 != 0) or ( i % 3 != 0 and i % 7 == 0) :
        print(i)
        aa+=1
print(aa)

 

6.计算1到500以内能被7整除但不是偶数的数的个数

aList=range(1,501)
aa = 0
for i in aList[::2]:
    if  i % 7 == 0 :
        print(i)
        aa+=1
print(aa)

 

  1. 计算从1到1000以内所有能同时被3,5和7整除的数的和并输出

aa = 0
for i in range(1,1001):
    if  i % 7==0 and i % 3 ==0 and i % 5==0:
        print(i)
        aa+=1
print(aa)

8.输出摄氏温度---华氏温度对照表,摄氏温度从0~100,每隔5度显示一个值。

提示:C=5/9(F-32),C表示摄氏温度,F表示华氏温度

摄氏温度 华氏温度

0 32

5 41

10 50

15 59

print("摄氏温度    华氏温度")
for C in range(0,101,5):
    F=int(C*1.8+32)
    print(C,F,sep="             ")

9.3000米长的绳子,每天减一半,问多少天这个绳子会小于5米?不考虑小数

len=3000
a=0
while(len>=5):
    len=int(len/2)
    a += 1
print(a)

 

10.猜数字

从键盘上输入一个整数,如果等于你规定的整数,就猜中了,如果小于规定的数,提示小了,否则提示大了,直到猜中位置

while True:
    ints = int(input("猜数字游戏请输入一个整数"))
    if  ints == 26:
        print("恭喜你猜对了")
        break
    elif ints <26:
        print("小了继续猜哦!")
    elif ints > 26:
        print("大了继续猜哦!")

 

高级:模拟游戏完成

 

  1. 用户输入用户名和密码,如果用户名和密码输入正确,则可以继续输入积分购物,如果输入不正确,可以重复输入3次,否则锁定

从键盘输入当前会员的积分,会员购物时候,根据积分享受不同的折扣,根据会员输入的积分输出折扣。   

  会员积分x

折扣

X<2000

9

2000<=X<4000

8

4000<=X<8000

7

X>8000

6

1.输入付款金额,然后根据对应的折扣打折,

2.在输出打折的折扣金额钱前,询问是否将积分兑换成现金使用,如果选择的是“yes”,则按照100积分1元钱对换,选择no则是不兑换,

3.输出最后的付款金额是:XXXX (应该是: 折扣金额-积分兑换的金额)(注意积分清零或者作出相应的减少)

pays=158.5
for i in range(3):
    username = input('请输入用户名:')
    password = input('请输入密码:')
    if username =='admin' and password == '123456':
        X = int(input('请输入你的积分:'))
        dh = input('是否将积分兑换成现金使用:')
        if dh == "yes":
            zk = int(X/100)
            X1 = X - zk*100
        else:
            zk = 0
            X1 = X
        if X < 2000:
            pays1 = float(pays*0.9-zk)
            print("你的应付金额为:{}积分剩余:{}".format(pays1,X1))
        elif 2000 <= X < 4000:
            pays1 = pays * 0.8-zk
            print("你的应付金额为:{}积分剩余:{}".format(pays1,X1))
        elif 4000 <= X < 8000:
            pays = pays * 0.7-zk
            print("你的应付金额为:{}积分剩余:{}".format(pays1,X1))
        elif X >=  8000:
            pays = pays * 0.6-zk
            print("你的应付金额为:{}积分剩余:{}".format(pays1,X1))
        break
    else:
        print('账号密码有误请重新输入!')
else:
    print('账户被锁定,需要重新激活!')

 

2.掷骰子游戏:

==========掷骰子游戏=========

可选择的参加游戏的角色是:1.貂蝉  2.刘备  3.孙悟空  4.诸葛亮 5.曹操

输入参加游戏的角色是: 1

貂蝉进入游戏……

貂蝉请充值(金额必须是100的倍数):   ---》注意:充值3次不成功退出游戏,----》注意: 如果充值成功

充值成功的金额是: 1000

貂蝉请下注(必须是50的倍数,不能大于充值金额)   ---》可以反复下注

下注金额是:100

# 注意:是两个骰子 猜大   大:两个骰子的和大于6或者两个骰子相同,否则为小,系统产生两个1-6之间的随机数作为骰子的个数

貂蝉猜大小:大

如果猜对了,则下注金额翻倍加到总金额中,猜错了则总金额减去下注金额

询问是否下一轮游戏? --à注意: 可以继续下一轮游戏,仍然从下注开始

import random
jiaose=input("请输入游戏的角色1.貂蝉 2.刘备 3.孙悟空 4.诸葛亮 5.曹操")
print("输入参加游戏的角色是:",jiaose)
if jiaose == "1":
    print("貂蝉进入游戏……")
elif jiaose == "2":
    print("刘备进入游戏……")
elif jiaose == "3":
    print("孙悟空进入游戏……")
elif jiaose == "4":
    print("诸葛亮进入游戏……")
elif jiaose == "5":
    print('曹操进入游戏……')
cz =1
xl  = "是"
while cz <=3 :
    cz+=1
    money = int(input("请输入你需要充值的金额:"))
    if money%100==0:
        print("你充值的金额为:",money)
        while True:
            moneyxz = int(input("请输入你需要下注的金额:"))
            if moneyxz%50==0:
                random1 =  random.randint(1,6)
                random2 = random.randint(1,6)
                cai = input("请输入猜大小的文字")
                if (cai == "大"and (random1+random2)>6) or (cai == "小"and (random1+random2)<=6):
                    money = money + moneyxz*2
                    print("恭喜你猜对了,增加后的余额:",money)
                else:
                    money = money- moneyxz
                    print("很遗憾你猜错了,你剩余金额:", money)
                xl = input("是否继续下一轮游戏:是或否")
                if xl  == "是":
                    if  money >50:
                        print("继续游戏...")
                    else:
                        print("余额不足请充值..")
                        cz=0
                        break
                else:
                    print("退出游戏...")
                    break
    else:
        print("充值失败,充值金额必须是100的倍数")
    if  xl  == "否":
        break
else:
    print('充值3次不成功退出游戏')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值