目录
- 身体BMI质量检测
- 实例和实例方法的创建
- 100以内的偶数和
- 输入年份判断是不是闰年
- 编写分段函数
- 因式分解
- 检查二进制是否可被整除
- 查找每个数字均为偶数的数
- 计算字母和数字数量
- 计算大写字母和小写字母的数量
身体BMI质量检测
"""
11、身体BMI质量检测
难度:中等
身体质量指数(BMI),是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个指标。它的计算公式∶BMI=体重÷身高2(注意是体重除以身高的平方)。
其中,体重的单位是kg,身高的单位是m。
中国人的BMI参考标准:BMI<18.5为偏瘦﹔18.5≤BMI<24为正常;24≤BMI<28为偏胖﹔BMI≥28位肥胖。
编写一个程序,输入一个人的体中和身高,计算BMI并输出体重是否正常。请在下面回答处上传程序的代码和运行结果。
(可以在课程中任选一个代码框编写代码),如下图是一个运行结果的示例,其中74和1.74都是通过键盘输入的。
(本题18分,涉及的知识包括: if-elif 结构,fIfloat()函数,input()函数,比较运算符,字符串格式化输出等)
"""
weight = int(input("请输入体重(kg):"))
height = float(input("请输入身高(m):"))
BMI = weight/height**2
print("你的BIM是:{}" .format(BMI))
if BMI < 18.5:
print("偏瘦")
elif BMI >= 18.5 and BMI < 24:
print("正常")
elif BMI >= 24 and BMI < 28:
print("偏胖")
else:
print("肥胖")
实例和实例方法的创建
"""
12、实例和实例方法的创建
难度:中等
使用Python 的 class定义一个类,它具有两个int的属性,a和 b,有一个sum方法,得到a和 b 的和。初始化这个类的一个示例,并打印出它的两个属性和sum方法。
"""
class Basic:
def __init__(self,a,b):
self.a = a
self.b = b
def sum(self):
return self.a+self.b
s = Basic(1,2)
print(s.a,s.b,s.sum())
100以内的偶数和
"""
100以内的偶数和
for循环实现1~100之间的偶数和
"""
sum = 0
for i in range(1,101):
if i % 2 == 0:
sum += i
i += 1
print("1~100之间偶数的和是:",sum)
输入年份判断是不是闰年
"""
输入年份判断是不是闰年
通过键盘输入年份,如果是闰年输出True,否则输出False
"""
import calendar
year = int(input("请输入年份:"))
if calendar.isleap(year):
print(f"{year}年是闰年")
else:
print(f"{year}年不是闰年")
try:
year=int(input("请输入一个年份:"))
if (year%4==0) and (year%100 !=0) or (year%400)==0:
print("{}年是闰年".format(year))
else:
print("{}年不是闰年".format(year))
except:
print("您输入有误!")
编写分段函数
"""
编写分段函数
通过键盘输入x的值
"""
x = float(input("请输入一个x值:"))
if x < 0:
y = 0
elif x >= 0 and x < 5:
y = x
elif x >= 5 and x < 10:
y = 3 * x - 5
elif x >= 10 and x < 20:
y = 0.5 * x - 2
else:
y = 0
print(f"根据分段函数计算,当x={x}时,y={y}")
因式分解
"""
16、因式分解
难度:中等
用户从键盘输入小于1000的整数,对齐进行因式分解,比如10=2*5,60 =2*2*3*5
输入∶
请输入一个小于1000整数:90
输出︰
90 = 2*3*3*5
"""
n = int(input("请输入一个小于1000的整数:"))
t = n
factor = []
while t > 1:
for i in range(2,t+1):
if t % i == 0:
factor.append(i)
t = int(t / i)
break
print("%d=%s" % (n ,"*".join(map(str,factor))))
检查二进制是否可被整除
"""
编写一个程序,该程序接受以逗号分隔的4位二进制数字序列作为输入,然后检查它们是否可被5整除。被5整除的数字将以逗号分隔的顺序打印。
例子:
0100,0011,1010,1001
然后输出应为:
1010
注意:假设数据是通过控制台输入的。
提示:
如果将输入数据提供给问题,则应假定它是控制台输入。
"""
m = list( input("请输入以逗号分隔的4位二进制数字序列:").split(','))
n = []
for i in range(len(m)):
if int(m[i],2) % 5 == 0:
n.append(m[i])
print(n)
查找每个数字均为偶数的数
"""
编写一个程序,查找所有介于1000和3000之间的数字(都包括在内),以使数字的每个数字均为偶数。获得的数字应以逗号分隔的顺序打印在一行上。
提示:
如果将输入数据提供给问题,则应假定它是控制台输入。
"""
n , m = map(int,input("请输入以逗号为间隔的两个数字范围:").split(','))
list = []
for i in range(n,m + 1):
for j in str(i):
if int(j) % 2 == 0:
list.append(i)
print(list)
计算字母和数字数量
"""
问题:
编写一个接受句子并计算字母和数字数量的程序。
假设将以下输入提供给程序:
hello world! 123
然后,输出应为:
LETTERS 10
DIGITS 3
提示:
如果将输入数据提供给问题,则应假定它是控制台输入。
"""
"""
方法一
"""
"""
方法二
"""
seq = input("请输入一个句子:")
num1 = 0
num2 = 0
num3 = 0
for ch in seq:
if ch.isnumeric():
num1 += 1
elif ch.isalpha():
num2 += 1
else:
num3 += 1
print("在这个句子中存在{}个数字、{}个字母和{}个其他字符" .format(num1,num2,num3))
"""
方法三
"""
"""
方法四
"""
计算大写字母和小写字母的数量
"""
问题:
编写一个接受句子的程序,并计算大写字母和小写字母的数量。
假设将以下输入提供给程序:
Hello world!
然后,输出应为:
UPPER CASE 1
LOWER CASE 9
提示:
如果将输入数据提供给问题,则应假定它是控制台输入。
"""
"""
方法一
"""
"""
方法二
Python isupper() 方法检测字符串中所有的字母是否都为大写。
Python islower() 方法检测字符串是否由小写字母组成。
Python istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
"""
word = input("请输入一句话:")
letter, LETTER, other = 0, 0 ,0
for i in word:
if i.isupper():
LETTER += 1
elif i.islower():
letter += 1
else:
other += 1
print("UPPER CASE {0}\nLOWER CASE {1}\nOTHER CASE {2}".format(LETTER, letter, other))