书上及PPT上一些习题的练习
Day4
p77 编写程序,输出由1,2,3,4这四个数字组成的每位数都不相同的所有三位数
digit = (1,2,3,4)
for i in digit:
for j in digit:
for k in digit:
if i != j and j != k and i != k: # 不能用比较运算符连等,i != j != k不能得到想要的结果
print(i *100 + j * 10 + k)
p76 求200以内能被17整除的最大正整数
for i in range(200, 0, -1):
if i % 17 == 0:
print(i)
break # 应该加上break,让这个循环在找到最大正整数后停止
使用嵌套的选择结构实现百分制成绩到等级制的转换
def func(score):
degree = 'DCBAAE'
if score < 0 or score > 100:
print('请输入正确格式的数值')
else:
Index = (score - 60) // 10
if Index >= 0:
return degree[Index]
else:
return degree[-1]
print(func(97))
print(func(100))
print(func(45))
编写程序,生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间
from random import randint
x = set() # 集合有自动去重功能
while len(x) < 20:
x.add(randint(1, 100))
print(sorted(x))
计算这箱苹果至少有多少个
i = 9
while i >= 9:
if i % 4 == 1 and i % 5 == 2 and i % 9 == 7:
print(i)
break
else: # 执行了else以后会跳出循环,继续进行while语句判断条件是否满足
i = i + 1
‘’’
用户输入若干个分数,求所有分数的平均分。
每输入一个分数后询问是否继续输入下一个分数,
回答“yes”就继续输入下一个分数,
回答“no”就停止输入分数。
‘’’
number = []
while True:
score = input('请输入一个成绩:')
try:
number.append(float(score)) # 没有number = number.append()这种语法
except:
print('不是合法成绩')
while True: # while True这种用处是不满足条件就重新循环,直到满足
choice = input('请问要继续录入成绩吗(Yes/No):').lower() #把输入的大写变成小写
if choice not in ('yes', 'no'):
print('请输入正确的选项(Yes/No)')
else:
break # break整个循环提前结束,继而判断后面的if语句
if choice == 'No':
break
print(sum(number) / len(number))
面试资格确认
age = int(input('请输入您的年龄:'))
subject = input('请输入您的专业')
college = input('请输入您的大学类别')
if (age < 25 and subject == '计算机') or (college == '重点'):
print('恭喜您被录用')
else:
print('很遗憾您未被录用')
p77 假设共有鸡,兔30只,脚90只,求鸡,兔各有多少只
for ji in range(1, 31): # 设一个未知数更方便计算
if ji * 2 + (30 - ji) * 4 == 90:
print('鸡有{0}只,兔有{1}只'.format(ji, 30 - ji))
# print('鸡有',ji,'只','兔有',30 - ji,'只')
Day5
今天是一年中的第几天
y = int(input('请输入4位数字的年份:'))
m = int(input('请输入月份:'))
d = int(input('请输入是哪一天:'))
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if y % 100 == 0 or (y % 4 == 0 and y % 100 != 0): # 有关年月要考虑该年是闰年还是平年
day_month[1] = 29
if m == 1: # 有关至某月的累计天数需要一月和其他月两种情况讨论
print(d)
else:
print(sum(day_month[:m-1]) + d)
“”"
BMI:是国际上常用的衡量人体肥胖程度和是否健康的重要标准。
BMI=体重/身高的平方(国际单位kg/㎡)
body_fat = (1.2 * BMI + 0.23 *age - 5.4 - 10.8 * sex) / 100 (男为1,女为0)
女生体脂率的正常范围:(0.25,0.28)
男生的体脂率正常范围:(0.15,0.18)
需求:输入:给定体重、身高、性别、姓名信息
输出:体脂率
“”"
1.输入
name = input('请输入您的姓名:')
sex = input('请输入您的性别:')
if sex == '男':
sex = 1
if sex == '女':
sex = 0
# sex = 1 if sex == '男' else 0 # python三元表达式更简洁
age = int(input('请输入您的年龄:'))
height = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(国际单位kg/㎡):'))
2.处理的过程
BMI = weight / (height ** 2)
body_fat = (1.2 * BMI + 0.23 * age - 5.4 - 10.8 * sex) / 100
x = [(0.25, 0.28), (0.15, 0.18)]
m = ''
if body_fat > x[sex][1]:
m = '偏胖'
elif body_fat < x[sex][0]:
m = '偏瘦'
else:
m = '正常'
3.结果的输出
print("你的名字是{},你的体脂率为{},正常情况为{},结果为{}".format(name, body_fat, x[sex], m))