Python一周小记(八)

书上及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))
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值