1.引言
操千曲而后晓声,观万剑而后识器——————《文心雕龙》
什么意思?用人话来说就是程序员是练出来的,不是看出来的,更不是空想出来的。只要有足够的代码量,连小盆友都能接项目,下面就是分享的一些基础习题。
2.习题
2.1.Demo1
"""
"""
二、判断语句
Demo19
"""
set1 = "1\t3\t5\t7\n" \
"9\t11\t13\t15\n" \
"17\t19\t21\t23\n" \
"25\t27\t29\t31\n"
set2 = "2\t3\t6\t7\n" \
"10\t11\t14\t15\n" \
"18\t19\t22\t23\n" \
"26\t27\t30\t31\n"
set3 = "4\t5\t6\t7\n" \
"12\t13\t14\t15\n" \
"20\t21\t22\t23\n" \
"28\t29\t30\t31\n"
set4 = "8\t9\t10\t11\n" \
"12\t13\t14\t15\n" \
"24\t25\t26\t27\n" \
"28\t29\t30\t31\n"
set5 = "16\t17\t18\t19\n"\
"20\t21\t22\t23\n" \
"24\t25\t26\t27\n" \
"28\t29\t30\t31\n"
"""
#测试
print(set1)
print(set1[0])
print(set2)
print(set2[0])
print(set3)
print(set3[0])
print(set4)
print(set4[0])
print(set5)
print(set5[0])
"""
print(set1)
kset1 = int (input("你的生日在这张卡片中吗?(1 表示在 0 表示不在) \n\n"))
print(set2)
kset2 = int (input("你的生日在这张卡片中吗?(1 表示在 0 表示不在) \n\n"))
print(set3)
kset3 = int (input("你的生日在这张卡片中吗?(1 表示在 0 表示不在) \n\n"))
print(set4)
kset4 = int (input("你的生日在这张卡片中吗?(1 表示在 0 表示不在) \n\n"))
print(set5)
kset5 = int (input("你的生日在这张卡片中吗?(1 表示在 0 表示不在) \n\n"))
birthday = 0
if kset1 == 1:
birthday += int(set1[0])
if kset2 == 1:
birthday += int(set2[0])
if kset3 == 1:
birthday += int(set3[0])
if kset4 == 1:
birthday += int(set4[0])
if kset5 == 1:
birthday += int(set5[0])
print("\n\n好的,我大概知道你的生日了,第%d日对不对?" % (birthday))
2.2.Demo2
"""
二、判断语句
Demo20
"""
weight = float(input("请输入体重(单位:磅):"))
height = float(input("请输入身高(单位:英寸):"))
weight *= 0.45359237
height *= 0.0254
BMI = weight / (height ** 2)
if BMI < 18.5:
print("你很轻。")
elif BMI < 25.0:
print("你很健康。")
elif BMI < 30:
print("你有点重。")
else:
print("你该减肥了。")
2.3.Demo3
"""
二、判断语句
Demo21
"""
year = int (input("请输入一个年份"))
if year % 400 ==0 or (year % 4 == 0 and year % 100 != 0):
print("%s是闰年。" % (year))
else:
print("%s不是闰年。" % (year))
2.4.Demo4
"""
二、判断语句`
Demo22
"""
import random
rad = random.randint(0,99)
num = int(input("请输入你的兑换码:"))
rad_1 = rad // 10
rad_2 = rad % 10
num_1 = num // 10
num_2 = num % 10
print("彩票中奖号码是%d" % (rad))
if rad == num:
print("恭喜你,你的兑换码和中奖号码一致,获得奖金10000美元!")
elif rad_1 == num_2 and rad_2 == num_1:
print("恭喜你,你的兑换码数字与中奖号码相同,获得奖金3000美元!")
elif rad_1 == num_1 or rad_1 == num_2 or rad_2 == num_1 or rad_2 == num_2:
print("恭喜你,你的兑换码中含有中奖号码中的数字,获得奖金1000美元!")
else:
print("谢谢惠顾哟,亲~")
2.5.Demo5
"""
"""
二、判断语句
Demo23
"""
import math
a ,b ,c = input("请方程中输入a,b,c的值:").split(" ")
a = float(a)
b = float(b)
c = float(c)
d = b ** 2 - 4 * a * c
if d < 0:
print("该方程无解。")
elif d == 0:
print("该方程有唯一解:")
print((-b + math.sqrt(d)) / (2*a))
else:
print("该方程有两个不同的解:")
print("%.2f" % ((-b + math.sqrt(d)) / (2*a)))
print("%.2f" % ((-b - math.sqrt(d)) / (2*a)))
2.6.Demo6
"""
"""
二、判断语句
Demo24
"""
print("解2 * 2线性方程\n")
a , b, c, d, e, f = map(float,input("请输入a,b,c,d,e,f:").split(" "))
if (a * d - b * c) == 0:
print("The aquation has no solution")
else:
x = (e * d - b * f) / (a * d - b * c)
y = (a * f - e * c) / (a * d - b * c)
print("x is %.1f and y is %.1f" % (x,y))
2.7.Demo7
"""
"""
二、判断语句
Demo25
"""
today = int (input("今天是一周内第几天:"))
alterday = int (input("过了几天:"))
week =[ "星期一" , "星期二" , "星期三" , "星期四" , "星期五" , "星期六" , "星期天"]
print("\n\n今天是%s." % (week[today-1]))
print("过了%d天后则是%s." % (alterday , week[today - 1 + alterday]))
2.8.Demo8
"""
二、判断语句
Demo26
"""
weight1 , price1 = map(float,input("请输入第一个包的重量和价格:").split(","))
weight2 , price2 = map(float,input("请输入第二个包的重量和价格:").split(","))
unitprice1 = price1 / weight1
unitprice2 = price2 / weight2
if unitprice1 < unitprice2:
print("第一个包装价钱更好。")
else:
print("第二个包装价钱更好。")
2.9.Demo9
"""
二、判断语句
Demo27
"""
Num = int(input("请输入一个整数:"))
if Num % 5 == 0 and Num % 6 == 0:
print("能否整除5 和 6?%s" % (Num % 6 == 0 and Num %5 == 0))
else:
print("能否整除5 和 6?%s" % (Num % 6 == 0 and Num % 5 == 0))
if Num % 5 == 0 or Num % 6 == 0:
print("能否整除5 或 6?%s" % (Num % 6 == 0 or Num % 5 == 0))
else:
print("能否整除5 或 6?%s" % (Num % 6 == 0 or Num % 5 == 0))
if Num % 5 != 0 and Num % 6 != 0:
print("不能整除5 和 6?%s" % (Num % 6 != 0 and Num % 5 != 0))
else:
print("不能整除5 和 6?%s" % (Num % 6 != 0 and Num % 5 != 0))
2.10.Demo10
"""
二、判断语句
Demo28
"""
import random
Hand = int(input("剪刀(0),石头(1),布(2)"))
ComputerHand = random.randint(0 , 2)
Gesture = ["剪刀" , "石头" , "布"]
print("\n\n计算机出的是%s" % (Gesture[ComputerHand]))
print("你出的是%s" % (Gesture[Hand]))
if Hand == ComputerHand :
print("平局!")
elif Hand == 0:
if ComputerHand == 2:
print("你赢了!")
else:
print("你输了!")
elif Hand == 1:
if ComputerHand == 0:
print("你赢了!")
else:
print("你输了!")
else:
if ComputerHand == 1:
print("你赢了!")
else:
print("你输了!")
2.11.Demo11
"""
二、判断语句
Demo29
"""
ExchangeRate = float(input("美元与人民币汇率:"))
Key = int(input("转换为美元(0) 转换为人民币(1):\n"))
Num = float(input("数额:"))
if Key == 0:
print("%s人民币等于%s美元" % (Num , Num / ExchangeRate))
else:
print("%s美元等于%s人民币" % (Num , Num * ExchangeRate))
2.12.Demo12
"""
二、判断语句
Demo30
"""
a , b , c = map(int , input("三角形三条边:").split(","))
if a + b > c and a + c > b and b + c > a:
print("三角形周长为:",a + b + c)
else:
print("该三条边不构成三角形。")
2.13.Demo13
"""
二、判断语句
Demo31
"""
y = int(input("年份:"))
m = int(input("月份:"))
if m == 1 or m == 2:
m += 10
q = int(input("月中天数:"))
j = y // 100
k = y % 100
h = (q + k + 5 * j + k / 4 + j / 4 + 26 * (m + 1) / 10) % 7
h = int(h)
week = ["星期六","星期天","星期一","星期二","星期三","星期四","星期五"]
print("今天是%s" % (week[h]))
2.14.Demo14
"""
二、判断语句
Demo32
"""
import math
print("有一个圆形,圆心为(0,0),半径为10:\n")
x , y = map(int,input("点x,y的值:").split(","))
d = math.sqrt(x ** 2 + y ** 2)
if d > 10:
print("({},{})在圆外。".format(x,y))
elif d == 10:
print("({},{})在圆上。".format(x,y))
else:
print("({},{})在圆内。".format(x,y))
2.15.Demo15
"""
二、判断语句
Demo33
"""
import math
print("有一个矩形,中心为(0,0),宽10高5:\n")
x , y = map(int,input("点x,y的值:").split(","))
d1 = math.sqrt(x ** 2)
d2 = math.sqrt(y ** 2)
if d1 < 5 or d2 < 2.5:
print("({},{})在矩形内。".format(x,y))
elif d1 == 5 or d2 == 2.5:
print("({},{})在矩形上。".format(x,y))
else:
print("({},{})在矩形外。".format(x,y))
2.16.Demo16
"""
二、判断语句
Demo34
"""
num = input ("需要判断的数字:")
numreverse = num[::-1]
if numreverse == num:
print("{}是回文数。".format(num))
else:
print("{}不是回文数。".format(num))
2.17.Demo17
"""
二、判断语句
Demo35
"""
print("有一个直角三角形:")
print("三个点分别是(0,0) (200,0) (0,100)")
x , y = map(float , input("需要判断的坐标:").split(","))
#求三角形面积
#ABC
abc = abs(200 * 100 / 2.0)
#PBC
pbc = abs((x * (0 - 100) + 200 * 100) / 2.0)
#PAC
pac = abs((x * (0 - 100)) / 2.0)
#PAB
pab = abs((200 * (0 - y)) / 2.0)
if abc > pbc + pac + pab:
print("该坐标在三角形内")
else:
print("该坐标不在三角形内")
2.18.Demo18
"""
二、判断语句
Demo36
"""
import math
x1 , y1 = map(float,input("第一个圆心坐标:").split(","))
r1 = float(input("第一个圆半径:"))
x2 , y2 = map(float,input("第二个圆心坐标:").split(","))
r2 = float(input("第二个圆半径:"))
d = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
rt = (r1 - r2)
if d < abs(rt):
print("第二个圆在第一个圆内")
elif d < rt:
print("第二个圆与第一个圆有重叠")
else:
print("第二个圆与第一个圆不重叠")