因为控制台会让不断输入,索性就把input放到注释里了。
这一篇主要练习input和if判断
初级:
1.判断下面标识符是否合法并说明不合法的原因
@abc.com
123ok
xiaoming
Xiaoming$
interface
sina@163
2.从控制台输入圆的半径,计算周长和面积
3.一辆汽车以40km/h的速度行驶,行驶了45678.9km,求所用的时间
4.华氏温度转摄氏温度【提示:将华氏温度转换为摄氏温度 F = 1.8C + 32】
5.从控制台输入两个数,输出较大的值
6.模拟玩骰子游戏,根据骰子点数决定什么惩罚【例如:1.跳舞,2.唱歌…】
中级:
1.x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x, 如果 x 等于 y 则输出 x+y,否则输出y
2.从控制台输入三个数,输出较大的值
3.从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”
例如:153=1^3+5^3+3^3
4.实现一个个人所得税计算器【提示:输入月收入和五险一金,计算个人所得税】
高级
1.从控制台输入一个五位数,如果是回文数就打印“是回文数”,否则打印“不是回文数”
例如:11111 12321 12221
import sys
import math
import random
# 初级
"""
1.判断下面标识符是否合法并说明不合法的原因
@abc.com
123ok
_xiaoming
Xiaoming_$
interface
sina@163
"""
print("第一题:")
print("@abc.com:不合法,有规定之外的特殊字符")
print("123ok:不合法,数字在前")
print("xiaoming:合法,纯拼音")
print("Xiaoming_$:不合法,$")
print("interface:不合法,interface是内部名称")
print("sina@163:不合法,有规定之外的特殊字符")
print("**********************************")
"""
2.从控制台输入圆的半径,计算周长和面积
"""
print("第二题:")
# r = input("请输入一个圆的半径,之后会分别计算周长和半径:")
r = 3.33
r = float(r)
c = 2*math.pi*r
s = math.pi*r*r
print("周长C为:%.2f" % c)
print("面积S为:%.2f" % s)
print("**********************************")
"""
3.一辆汽车以40km/h的速度行驶,行驶了45678.9km,求所用的时间
"""
print("第三题:")
v = 40
s = 45678.9
t = s / v
print("汽车所用的时间为:%.2f h" % t)
print("**********************************")
"""
4.华氏温度转摄氏温度【提示:将华氏温度转换为摄氏温度 F = 1.8C + 32】
"""
print("第四题:")
# F = input("请输入要转为摄氏温度的华氏温度:")
F = 99
F = float(F)
C = (F - 32) / 1.8
print("转换成功!\n摄氏温度为:%.2f ℃" % C)
print("**********************************")
"""
5.从控制台输入两个数,输出较大的值
"""
print("第五题:")
# num1 = float(input("请输入一个数:"))
# num2 = float(input("请再输入一个数:"))
num1 = 10
num2 = 20
if num1 < num2:
print("较大的值为:%.2f" % num2)
elif num1 > num2:
print("较大的值为:%.2f" % num1)
elif num1 == num2:
print("两个数一样大,无法比较最大的数")
else:
print("小伙子,请正确输入数字")
print("**********************************")
"""
6.模拟玩骰子游戏,根据骰子点数决定什么惩罚【例如:1.跳舞,2.唱歌....】
"""
print("第六题:")
# 随机取1~6的数
num = random.randint(1, 6)
if num == 1:
print("唱个歌")
elif num == 2:
print("跳个舞")
elif num == 3:
print("劈个叉")
elif num == 4:
print("真心话")
elif num == 5:
print("大冒险")
elif num == 6:
print("再掷一次")
print("**********************************")
# 中级
"""
1.x 为 0-99 取一个数,y 为 0-199
取一个数,如果 x>y 则输出 x,
如果 x 等于 y 则输出 x+y,
否则输出y
"""
print("第一题:")
x = random.randint(0, 99)
y = random.randint(0, 199)
print("随机选取的x为:", x)
print("随机选取的y为:", y)
if x > y:
print("x>y,输出x:", x)
elif x == y:
print("x=y,输出x+y:", x + y)
else:
print("x, y)
print("**********************************")
"""
2.从控制台输入三个数,输出较大的值
"""
print("第二题:")
# num1 = float(input("请输入第一个数:"))
# num2 = float(input("请输入第二个数:"))
# num3 = float(input("请输入第三个数:"))
num1 = 1
num2 = 2
num3 = 3
if(num1 > num2 > num3) | (num1 > num3 > num2):
print("输入的第一个数最大:%.2f" % num1)
elif(num2 > num1 > num3) | (num2 > num3 > num1):
print("输入的第二个数最大:%.2f" % num2)
elif(num3 > num1 > num2) | (num3 > num2 > num1):
print("输入的第三个数最大:%.2f" % num3)
else:
print("请正确输入!")
print("**********************************")
"""
3.从控制台输入一个三位数
如果是水仙花数就打印“是水仙花数”
否则打印“不是水仙花数”
例如:153=1^3+5^3+3^3
水仙花数是指一个 3 位数,
它的每个位上的数字的3次幂之和等于它本身
三位的水仙花数共有4个:153,370,371,407;
"""
print("第三题:")
# num = int(input("请输入一个三位整数:"))
num = 153
print("系统正在判断您输入的是否是水仙花数,请稍后...")
a = num // 100 # 获取百位的数字
b = (num - a * 100) // 10 # 获取十位数字
c = num - a*100 - b*10 # 获取个位数字
if num == math.pow(a, 3) + math.pow(b, 3) + math.pow(c, 3):
print("恭喜,输入的三位数是水仙花数!")
else:
print("抱歉,输入的三位数不是水仙花数!")
print("**********************************")
"""
4.实现一个个人所得税计算器【提示:输入月收入和五险一金,计算个人所得税】
应纳税所得额 税率 速算扣除数(元)
3000元以内 3% 0
3000-12000元 10% 210
12000-25000元 20% 1410
25000-35000元 25% 2660
35000-55000元 30% 4410
55000-80000元 35% 7160
超过80000元 45% 15160
"""
print("第四题:")
# 控制台输入工资和五险一金
# GongZi = float(input("请输入您每月的工资:"))
# WuXian = float(input("请输入您每月的五险一金:"))
GongZi = 99999
WuXian = 3000
# 定义 应纳税所得额
NaShuiDe = GongZi - WuXian - 5000
# 计算每月应纳税额
Shui = 0
if NaShuiDe == 0:
Shui = 0
elif(NaShuiDe <= 3000) & (NaShuiDe > 0):
Shui = NaShuiDe * 0.03 - 0
elif(NaShuiDe > 3000) & (NaShuiDe <= 12000):
Shui = NaShuiDe * 0.10 - 210
elif(NaShuiDe > 12000) & (NaShuiDe <= 25000):
Shui = NaShuiDe * 0.20 - 1410
elif(NaShuiDe > 25000) & (NaShuiDe <= 35000):
Shui = NaShuiDe * 0.25 - 2660
elif(NaShuiDe > 35000) & (NaShuiDe <= 55000):
Shui = NaShuiDe * 0.30 - 4410
elif(NaShuiDe > 55000) & (NaShuiDe <= 80000):
Shui = NaShuiDe * 0.35 - 7160
elif NaShuiDe > 80000:
Shui = NaShuiDe * 0.45 - 15160
else:
print("请正确输入数据!")
# 实发工资为总收入减去纳税额
salary = GongZi - Shui
print("当月实发工资为:%.2f" % salary)
print("**********************************")
# 高级
"""
从控制台输入一个五位数,如果是回文数就打印“是回文数”
否则打印“不是回文数”
例如:11111 12321 12221
"""
# num = int(input("请输入一个五位整数:"))
num = 56765
print("系统正在判断输入的数是否为回文数,请稍后...")
a = num // 10000 # 万位
b = (num - a * 10000) // 1000 # 千位
c = (num - (a * 10000) - (b * 1000)) // 100 # 百位
d = (num - (a * 10000) - (b * 1000) - (c * 100)) // 10 # 十位
e = num - (a * 10000) - (b * 1000) - (c * 100) - (d * 10) # 个位
if (a == e) & (b == d): # 当万位的数等于个位的数 且 千位的数等于十位的数 时,是回文数
print("恭喜,输入的数是回文数!")
else:
print("抱歉,输入的不是回文数,请重新输入!")