1.BMI
BMI:Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析
定义:BMI = 体重 (kg) /身高2(m2)
获取用户输入的体重和身高值,计算并给出国际和国内的 BMI 分类
要求如下:
(1) 混合计算并给出国际和国内的 BMI 分类;
(2) 使用input()获得测试用例输入时,不要增加提示字符串。
height,weight = eval(input())
#计算bmi BMI = 体重 (kg) /身高2(m2)
bmi = weight/(height**2)
world,china = "",""
#分支判断
if bmi < 18.5:
world,china="偏瘦","偏瘦"
elif 18.5 <= bmi < 24:
world,china="正常","正常"
elif 24 <= bmi < 25:
world,china="正常","偏胖"
elif 25 <= bmi < 28:
world,china="偏胖","偏胖"
elif 28 <= bmi < 30:
world,china="偏胖","肥胖"
else:
world,china="肥胖","肥胖"
#打印输出
print("BMI数值为:{:.2f}".format(bmi))
print("BMI指标为:国际'{}',国内'{}'".format(world,china))
2.圆周率的计算
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
#引入随机数
import random
num = eval(input())
hit = 0
#种子
random.seed(123)
for i in range(num):
x,y = random.random(),random.random()
d = pow(x**2+y**2,0.5)
if d <= 1.0 :
hit +=1
#易知扇形面积为πr^2/4 正方形面积为r^2 面积比率为命中比率
pi = 4*hit/num
#输出并保留6位小数
print("{:.6f}".format(pi))
3.整数的加减和
编写程序计算如下数列的值:
1-2+3-4…966
其中,所有数字为整数,从1开始递增,奇数为正,偶数为负
#累加准备
sum = 0
#使用range(M,N,[K]) 区间是[M,N)
for i in range(1,967):
if i % 2 == 0:
#偶数相减
sum -= i
else:
#奇数相减
sum +=i
#输出结果
print(sum)
4.三位水仙花数
"水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。
例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
#保存结果
s=""
for i in range(100,1000):
a = i // 100
b = i%100 // 10
c = i%10
if pow(a,3)+pow(b,3)+pow(c,3) == i:
#判断为水仙花数之后拼接结果
s=s+str(i)+','
#不打印最后一个字符
print(s[:-1])
5.用户登录的三次机会
给用户三次输入用户名和密码的机会,要求如下:
1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序;
2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。
解答:该题考查循环结构的扩展 正常退出循环的是三次输入有误 非正常退出循环即是break退出登录成功
#直接开始三次循环接收用户的输入
for i in range(3):
name = input()
password = input()
#判断
if name == 'Kate' and password == '666666':
print("登录成功!")
break
else:
print("3次用户名或者密码均有误!退出程序。")