day03

练习题

1.企业发放的奖金根据利润提成。利润(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,求应发放

奖金总数?

# 企业发放的奖金根据利润提成。利润(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,
# 求应发放奖金总数?
# 定义一个变量,
I = float(input("请输入当月利润I:"))
# 定义一个变量,保存奖金
ret = 0
# 判断
if I <= 10:
    ret = I * 0.10
elif 10 < I < 20:
    ret = (I - 10) * 0.075 + 10 * 0.10
elif 20 <= I < 40:
    ret = (I - 20) * 0.05 + 10 * 0.075 + 10 * 0.10
elif 40 <= I < 60:
    ret = 10 * 0.075 + 10 * 0.10 + 20 * 0.05 + (I - 40) * 0.03
elif 60 <= I < 100:
    ret = 10 * 0.075 + 10 * 0.10 + 20 * 0.05 + 20 * 0.03 + (I - 60) * 0.015
elif I >= 100:
    ret = 10 * 0.075 + 10 * 0.10 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (I - 100) * 0.01
print("应发放奖金总数为%.2f" % ret)

2.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

for i in range(100, 1000):
    bai_wei = i // 100
    shi_wei = (i-bai_wei*100) // 10
    geg_wei = (i - bai_wei*100 - shi_wei * 10) // 1
    # print(i, bai_wei, shi_wei, geg_wei)
    if bai_wei**3 + shi_wei**3 + geg_wei**3 == i:
        print(i)

# 注意
# 代码从上往下执行,特别注意个位,十位和百位的顺序,否则程序将会报错

3.

判断101-200之间有多少个素数,并输出所有素数.

提示:使用for...else...,如果一个数只能被1和它本身整除,那么这个数是素数

# 判断101-200之间有多少个素数,并输出所有素数.
# 提示:使用for...else...,如果一个数只能被1和它本身整除,那么这个数是素数
f = 0
for i in range(101, 201):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        f += 1
        print(i)
print("素数个数为:%d" % f)

 4.体质指数(BMI)=体重(kg)÷身高^2(m)(公式),
过轻:低于18.5
正常:18.5-23.9
过重:24-27
肥胖:28-32
非常肥胖, 高于32
请根据如上,条件写出一段代码,要求实现用户输入身高和体重,输出结果相应结果,并给出相应意见(自己阐述)。

# 体质指数(BMI)=体重(kg)÷身高^2(m)(公式),
# 过轻:低于18.5
# 正常:18.5-23.9
# 过重:24-27
# 肥胖:28-32
# 非常肥胖, 高于32
# 请根据如上,条件写出一段代码,要求实现用户输入身高和体重,输出结果相应结果,并给出相应意见(自己阐述)。
# 定义一个变量,引导用户输入身高
height = float(input("请输入您的身高:"))
# 定义一个变量,引导用户输入体重
ti_zhong = float(input("请输入您的体重:"))
# 打印身高和体重
print(height, ti_zhong)

BMI = ti_zhong / (height ** 2)
BMI = float("%.1f" % BMI)
print(BMI)
# 判断
if BMI < 18.5:
    print("过轻")
elif 18.5 <= BMI <= 23.9:
    print("正常")
elif 24 <= BMI <= 27:
    print("过重")
elif 28 <= BMI <= 32:
    print("非常肥胖")
elif BMI > 32:
    print("过度肥胖")

 5.要求使用for 循环和continue 打印1-100中的奇数。

f = 0
for i in range(1, 101):
    if i % 2 == 0:
        continue
    else:
        f += 1
    print(i)
print("1-100中的奇数有:%d个" % f)

6.完成可以无限次玩的剪刀石头布,每局并且输入quit或者exit时退出游戏

# 完成可以无限次玩的剪刀石头布,每局并且输入quit或者exit时退出游戏
# 玩家VS电脑
# 假设:剪刀,石头,布分别为(0,1,2)
#
# 玩家为剪刀时,电脑出布,当玩家出石头时,电脑出剪刀,当玩家出布时,电脑出石头
# 平局
# 玩家和电脑出拳一样时为平局
# 输了
# 否则玩家输了
# 定义变量,引导用户输入拳法
import random
while True:
    # 玩家输入
    p = int(input("请出拳(0.剪刀,1.石头,2.布):"))
    # 判断是否需要退出
    if p == "exit" or p == "quit":
        print("游戏结束!")
        break
    c = random.randint(0,3)
    if ((p == 0 and c == 2) or (p == 1 and c == 0) or (p == 2 and c == 1)):
        print("你赢了,你出的是%d===========电脑出的是%d" % (p, c))
    elif p == c:
        print("平局,你们出的都是%d" % p)
    else:
        print("你输了,你出的是%d===========电脑出的是%d" % (p, c))

7.使用for循环打印如下图形:

* * * * *
* * * *
* * *
* *
*
for i in range(1, 6):
    for j in range(1, 7 - i):
        print("* ", end="")
    print()

或者使用while循环:

i = 1
# 控制外层循环
while i <= 5:
    # 每行打印的星星的数量
    j = 6 - i
    while j >= 1:
        print("*", end=" ")
        j -= 1
    print()
    i += 1

8.使用while循环输出如下图形:

*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*

使用for循环:

for i in range(1, 10):
    if i <= 5:
        for j in range(1, i + 1):
            print("*", end=" ")
        print()
    else:
        for j in range(1, 11 - i):
            print("*", end=" ")
        print()

使用while循环;

i = 1
while i <= 9:
    # 前五行
    if i <= 5:
        j = 1
        while j <= i:
            print("*", end=" ")
            j += 1
        print()  
    # 后四行
    else:
        j = 10 - i
        while j >= 1:
            print("*", end=" ")
            j -= 1
        print()
    i += 1

9.使用while,完成以下图形的输出:

         * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 
  * * * * * * * 
    * * * * * 
      * * * 
         *     

使用for循环:

for i in range(1, 10):
    if i <= 5:
        k = 5 - i
        x = 2 * i - 1
        for k in range(1, 6 - i):
            print(" ", end=" ")
        for x in range(1, 2 * i):
            print("*", end=" ")
        print()
    else:
        # 每行打印的空格数
        k = i - 5
        # 每行打印的星星数
        x = 2 * (10 - i) - 1
        # 打印空格
        for k in range(1, i - 4):
            print(" ", end=" ")
        # 打印星星
        for x in range(1, 2 * (10 - i)):
            print("*", end=" ")
        # 打印完当前行,换行
        print()

使用while循环:

i = 1
while i <= 9:
    # 前五行
    if i <= 5:
        # 每行打印空格数
        k = 5 - i
        # 每行打印的星星数
        x = 2 * i - 1
        # 打印空格
        while k >= 1:
            print(" ", end=" ")
            k -= 1
        # 打印星星
        while x >= 1:
            print("*", end=" ")
            x -= 1
        # 打印完当前行,换行
        print()
        i += 1
    # 后四行
    else:
        # 每行打印的空格数
        k = i - 5
        # 每行打印的星星数
        x = 2 * (10 - i) - 1
        # 打印空格
        while k >= 1:
            print(" ", end=" ")
            k -= 1
        # 打印星星
        while x >= 1:
            print("*", end=" ")
            x -= 1
        # 打印完当前行,换行
        print()
        i += 1

10.设计“过7游戏”的程序, 打印出1-100之间除了含7和7的倍数之外的所有数字。

for i in range(1, 101):
    # 能被7整除:i % 7 == 0
    # 个位为7:i % 10 == 7
    # 十位为7:i // 10 == 7
    if i % 7 == 0 or i % 10 == 7 or i // 10 == 7:
        continue
    print(i, end=', ')

11.现有一字符串a = “abcdefg”,将字符串中的元素逐个输出,并且在输出的时候如果字母是b则显示B

a = "abcdefg"
for c in a:
    if c == "b":
        print("B")
        continue
    print(c)

12.公交车:我做607上下班,每天时间比较紧,公交车大概50分钟,单程1元,如果打车的话单程30块,

大概25分钟,如果先骑车然后做地铁的话会大改38分钟,4元钱, 根据条件编写程序程序,小华每天8

点30上班,身上有60元钱,问那个线路比较划算?小华7点50出门?如果是7点45出门呢?

money = int(input("请输入钱数:"))
time_z = int(input("请输入上班时间:"))
if time_z >= 50:
    if money > 30:
        print("可以打车")
    if money > 4:
        print("可以做地铁")
    if money > 1:
        print("坐公交最省钱")

elif 50 >= time_z > 38:
    if money > 30:
        print("可以打车")
    if money > 4:
        print("做地铁最省钱")


elif 38 >= time_z > 25:
    if money > 30:
        print("打车还有救")

else:
    print("今天会迟到")
原文地址:https://www.cnblogs.com/kangwenju/p/12689056.html