python案例练习
练习1:正五边形面积计算
import maths = eval(input('请输入正五角行边长'))# 分子 = 5 * 边长^2
molecules = 5 * s ** 2
# 分母 = 4 * tan(pi/2)
denominator = 4 * math.tan(math.pi / 5)area = molecules / denominator
print(f'{area=}')
执行结果
在这里插入代码片
练习2:解联力方程式,鸡兔同笼问题
题目:今有鸡兔同笼,上有35个头,下有100足,问鸡兔各多少?
# 题目:今有鸡兔同笼,上有35个头,下有100足,问鸡兔各多少?
# x -> chicken y -> rabbit
# x + y = 35 x = 35 - y x = head - y
# 2x + 4y = 100 x = 50 - 2y x = foot/2 - y# 定义变量接收用户输入
head = eval(input("Enter head count: "))
feet = eval(input("Enter feet count: "))chicken = 2 *head - feet / 2
rabbit = feet/2 - headprint(f"Rabbit: {rabbit},chicken = {chicken}")
执行结果
练习3:计算等差数列和
# 计算等差数列总和计算
# 定义两个变量用于接收两个用户的开始数字与结束数字的接收
start = eval(input("请输入开始数字"))
end = eval(input("请输入结束数字"))# 高斯等差数列 (开始 + 结束)*(结束-开始 + 1)/ 2
sum = (start + end) * (end - start + 1) / 2
print(f'{start} + {end} = {sum}')
执行结果
练习四:BMI指标
# 计算BMI :体重 % 身高^2height = eval(input("Enter your height in m: "))
weight = eval(input("Enter your weight in kg: "))BMI = weight / (height * height)if BMI < 18.5:print("Underweight")
elif BMI >= 18.5 and BMI < 24:print("Normal")
elif BMI >= 25 and BMI < 29:print("Overweight")
elif BMI >= 30 and BMI < 34:print("Obese")
执行结果
练习五:猜数字游戏
想一个数字0-7之间的数字
基本原理:0-7的数字基本上可以用3个二进制表示,即000-111,其实所问的三个问题基本上知识了解特定位置是否为1
# 猜数字
print("猜数字游戏,请心中想一个0-7之间的数字,然后回答一个问题")# input左边没有使用变量接收,代表程序运行在这里先实现阻塞,无论用户之后输入什么内容,程序都不接收
input("are you ready, enter any key to continue")# 猜测的答案
answer = 0question1 = '请输入y代表有,其他代表无'# 第一个问题:检测二进制第一位是否含有1 : 001 -- 1 \ 011-- 3 \ 101--5 \ 111--7
input("有没有看到心中的数字1,3,5,7") + question1if question1 == 'y' or question1 == 'Y':answer = 1# 检测二进制的第二位是否有1 :010、011、111
question2 = input("有没有看到心中的数字2,3,6,7")if question2 == 'y' or question2 == 'Y':answer += 2
# 检测二进制的第三位是否有1 :100、101、110、111
question3 = input("有没有看到心中的数字4,5,6,7")
if question3 == 'y' or question3 == 'Y':answer += 4print("你心中所想的是{}".format(answer))