Python练习——基础练习题1

因为控制台会让不断输入,索性就把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("抱歉,输入的不是回文数,请重新输入!")

你可能感兴趣的:(python)