练习4: 程序的控制结构 (第2周)

1.身体质量指数BMI

描述
BMI :Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
定义:BMI = 体重 (kg) /身高²(m²)
获取用户输入的体重和身高值,计算并给出国际和国内的 BMI 分类
在这里插入图片描述
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
(1) 混合计算并给出国际和国内的 BMI 分类;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
(2) 使用input()获得测试用例输入时,不要增加提示字符串。


输入
示例1:1.68,41
示例2:1.72,80

输出
示例1: BMI 数值为:14.53
    BMI 指标为:国际’偏瘦’,国内’偏瘦’
示例2: BMI 数值为:27.04
    BMI 指标为:国际’偏胖’, 国内’偏胖’


#CalBMI.py
height,weight = eval(input())
bmi = weight / pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))

if bmi < 18.5:
    guoji,guonei = "偏瘦","偏瘦"
elif 18.5<= bmi < 24:
    guoji,guonei = "正常","正常"
elif 24 <= bmi < 25:
    guoji,guonei = "正常","偏胖"
elif 25 <= bmi < 28:
    guoji,guonei = "偏胖","偏胖"
elif 28 <= bmi < 30:
    guoji,guonei = "偏胖","肥胖"
else:
    guoji,guonei = "肥胖","肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(guoji,guonei))

在这里插入图片描述
2.圆周率的计算

描述
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
在这里插入图片描述
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。


输入
示例1:1024

输出
示例1: 3.218750


#CalPi.py
import random as r 
DARTS = eval(input())  #抛洒在单位面积为1的正方形区域的点的总数量
hits = 0.0  #目前1/4圆形内部的点数
r.seed(123) #随机数种子
for i in range(DARTS):
    x,y = r.random(),r.random()
    dist = pow(x**2 + y**2,0.5) 
    if dist <= 1.0: #判断点是否在圆内
        hits += 1
pi = 4 * (hits / DARTS)
print("{:.6f}".format(pi))

在这里插入图片描述
3.整数的加减和

描述
编写程序计算如下数列的值:
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬
1-2+3-4…966

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬其中,所有数字为整数,从1开始递增,奇数为正,偶数为负


输入
示例1:无

输出
示例1:111(仅表示输出样式,不是输出结果)


sum = 0 #总和
num = 1 #从1开始
while num <= 966:
    if num % 2 == 0: #num是偶数
        sum = sum - num  # sum -= num
    else: #num是奇数
        sum = sum + num  # sum += num   
    num = num + 1       # num += num
print(sum)

在这里插入图片描述
4.三位水仙花数

描述
“水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
例如:ABC是一个"3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。


Str = ""
for num in range(100,1000):
    t = str(num)
    if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == num:
        Str += "{},".format(num)
print(Str[:-1])

在这里插入图片描述
5.用户登录的三次机会

描述
给用户三次输入用户名和密码的机会,要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。


在这里插入图片描述


count = 0
while count < 3:
    name = input()
    password = input()
    if name == "Kate" and password == "666666":
        print("登录成功!")
        break
    else:
        count = count + 1
        if count == 3:
            print("3次用户名或者密码均有误!退出程序。")

在这里插入图片描述

说明:题目来自北理嵩天老师【Python语言程序设计 (第9期)】课程,如有侵权,立删。

发布了44 篇原创文章 · 获赞 29 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/IT_xiao_guang_guang/article/details/100740685
今日推荐