实例5:身体质量指数BMI
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
BMI :Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析
定义:BMI = 体重 (kg) /身高2(m2)
获取用户输入的体重和身高值,计算并给出国际和国内的 BMI 分类
要求如下:
(1) 混合计算并给出国际和国内的 BMI 分类;
(2) 使用input()获得测试用例输入时,不要增加提示字符串。
输入示例1
1.68,41
输出示例1
BMI数值为:14.53
BMI指标为:国际'偏瘦',国内'偏瘦'
m,kg=eval(input())
bmi = kg/(m**2)
if bmi < 18.5:
china = internl = '偏瘦'
elif bmi <24:
china = internl = '正常'
elif bmi <25:
china = '正常'
internl = '偏胖'
elif bmi <28:
china = '偏胖'
internl = '偏胖'
elif 28<=bmi and bmi<30:
china = '偏胖'
internl = '肥胖'
else :
china = '肥胖'
internl = '肥胖'
print("BMI数值为:{:.2f}".format(bmi))
print("BMI指标为:国际'{0}',国内'{1}'".format(china,internl))
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
输入示例
1024
输出示例
3.218750
import random
random.seed(123)
n = input()
count = 0
for i in range(1,eval(n)+1):
x = random.random()
y = random.random()
if pow( (x** 2+ y**2),0.5 ) <=1:
count=count+1
print("{:.6f}".format(4*(count/(eval(n)))))
-
Python错误SyntaxError: unexpected EOF while parsing
-
含义是:解释器到底了都没找到它要找到的东西
-
1 语法有问题,一般都是少了print最后的一个括号,我当时碰到是因为print(d.drop()少打了一个括号,别盲目的相信自动补全自己认真检查一下,肯定这行代码少了或者多了东西,希望有用。
-
2 输入语法肯定有问题,有时候忘了切换中英文输入法,可以删除了重新输入
import random
random.seed(123)
n = input()
count = 0
for i in range(1,eval(n)+1):
x = random.random() #(x,y)与原点的距离
y = random.random()
if pow( (x** 2+ y**2),0.5 ) <=1:
count=count+1
print("{:.6f}".format(4*(count/(eval(n)))))
三位水仙花数
"水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。
例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
list1=[]
for i in range(100,1000,1):
t=str(i)
if i==(int(t[0])**3+int(t[1])**3+int(t[2])**3):
list1.append(str(i)) #向列表lk中添加水仙花数
print(','.join(list1)) #实现数字间用逗号分隔
整数的加减和
编写程序计算如下数列的值:
1-2+3-4...966
其中,所有数字为整数,从1开始递增,奇数为正,偶数为负
[(1条消息) 整数加减和_Mzjuser的博客-CSDN博客](https://blog.csdn.net/Mzjuser/article/details/82455505)
#办法一
a = 1
sum = 0
for i in range(1,967):
sum += a*i
a = -1 * a
print(sum)
#办法二
n = eval(input())
sum = 0
for i in range(1,n+1):
sum += i *pow((-1),i+1)
print(sum)
用户登录的三次机会
给用户三次输入用户名和密码的机会,要求如下:
1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序;
2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。
输入示例1
Kate
666666
输出示例1
登录成功!
输入示例2
kate
123
alice
456
john
111111
输出示例2
3次用户名或者密码均有误!退出程序。
name = "Kate"
mima = "666666"
k=0
for i in range (3):
name1 = input()
if name == name1:
mima1 = input()
if mima1 == mima1:
k = 1;
break;
else:
continue
else:
continue
if k == 1:
print("登录成功!")
else:
print("3次用户名或者密码均有误!退出程序。")