Python语⾔程序设计(北京理⼯⼤学)第四周
_PythonProgrammingweek04
整数的加减和
描述
编写程序计算如下数列的值:
1-2+3-4 (966)
其中,所有数字为整数,从1开始递增,奇数为正,偶数为负
输⼊输出⽰例
sum = 0
flag = 1
for i in range(1, 967, 1):
sum += flag * i
flag = -flag
print(sum)
三位⽔仙花数
描述
"⽔仙花数"是指⼀个三位整数,其各位数字的3次⽅和等于该数本⾝。
例如:ABC是⼀个"3位⽔仙花数",则:A的3次⽅+B的3次⽅+C的3次⽅ = ABC。
请按照从⼩到⼤的顺序输出所有的3位⽔仙花数,请⽤"逗号"分隔输出结果。
输⼊输出⽰例
输出仅表⽰格式,不表⽰对错。
flag = 0
for i in range(100, 1000, 1):
hundred = i//100
ten = i%100//10
unit = i%10
if unit**3 + ten**3 + hundred**3 == i:
if flag == 1:
print(",", end="")
print(i, end="")
if flag == 0:
flag = 1
⽤户登录的三次机会
描述
给⽤户三次输⼊⽤户名和密码的机会,要求如下:
1)如输⼊第⼀⾏输⼊⽤户名为‘Kate’,第⼆⾏输⼊密码为‘666666’,输出‘登录成功!’,退出程序;2)当⼀共有3次输⼊⽤户名或密码不正确输出“3次⽤户名或者密码均有误!退出程序。”。
输⼊输出⽰例
cnt = 0
while 1:
name = input(); psw = input()
if name == 'Kate' and psw == '666666':
print("登录成功!")
break
else:
cnt += 1
if cnt == 3:
print("3次⽤户名或者密码均有误!退出程序。")
break
实例5:⾝体质量指数BMI
描述
BMI :Body Mass Index 国际上常⽤的衡量⼈体肥胖和健康程度重要标准,主要⽤于统计分析
定义:BMI = 体重 (kg) /⾝⾼2(m2)
获取⽤户输⼊的体重和⾝⾼值,计算并给出国际和国内的 BMI 分类
要求如下:
(1) 混合计算并给出国际和国内的 BMI 分类;
(2) 使⽤input()获得测试⽤例输⼊时,不要增加提⽰字符串。
输⼊python新手编程100例
⽰例1:1.68,41
⽰例2:1.72,80
输出
⽰例1:
BMI 数值为:14.53
BMI 指标为:国际'偏瘦', 国内'偏瘦'
⽰例2:
BMI 数值为:27.04
BMI 指标为:国际'偏胖', 国内'偏胖'
height, weight = eval(input())
bmi = weight / pow(height, 2)
print("BMI数值为:{:.2f}".format(bmi))
who, nat = "", ""
if bmi < 18.5:
who, nat = "偏瘦", "偏瘦"
elif 18.5 <= bmi < 24:
who, nat = "正常", "正常"
elif 24 <= bmi < 25:
who, nat = "正常", "偏胖"
elif 25 <= bmi < 28:
who, nat = "偏胖", "偏胖"
elif 28 <= bmi < 30:
who, nat = "偏胖", "肥胖"
else:
who, nat = "肥胖", "肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(who, nat))实例6:圆周率的计算
描述
圆周率的近似计算公式:
# CalPiV1.py
pi = 0
N = 100
for k in range(N):
pi += 1/pow(16,k)*( \
4/(8*k+1) - 2/(8*k+4) - \
1/(8*k+5) - 1/(8*k+6) )
print("圆周率值是: {}".format(pi))
利⽤蒙特卡罗⽅法解 π 值:
# CalPiV2.py
from random import random
from time import perf_counter
DARTS = 1000*1000
hits = 0.0
start = perf_counter()
for i in range(1, DARTS+1):
x, y = random(), random()
dist = pow(x**2 + y**2, 0.5)
if dist <= 1.0:
hits += 1
pi = 4 * (hits/DARTS)
print("圆周率值是:{}".format(pi))
print("运⾏时间是:{:.5f}s".format(perf_counter()-start))