027、Python 循环结构练习-穷举法

本文介绍了使用穷举法解决实际问题的示例,包括鸡翁鸡母鸡雏问题的编程实现、分配鱼的最少数量问题、随机数猜谜游戏以及计算平均值与极值的程序。这些例子展示了编程在解决实际数学问题中的应用。
摘要由CSDN通过智能技术生成

穷举法:穷尽所有的可能性,然后设置条件,找到问题的解 —> 暴力破解法

题目1:鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1,用百钱买百鸡,问鸡翁、鸡母、鸡雏几何。

实现:

for x in range(0, 21):
    for y in range(0, 34):
        z = 100 - x - y
        if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
            print(x, y, z)

输出:

0 25 75
4 18 78
8 11 81
12 4 84

题目2:五个人(ABCDE)晚上去捕鱼,捕了不计其数的鱼,然后累了去睡觉。第二天,A第一个醒过来,把鱼分成了5份,扔掉了多余的1条,然后拿走自己的1份;B第二个醒过来,以为鱼没分过,把剩下的鱼分成了5份,扔掉多余的1条,拿走自己的一份;C、D、E依次醒过来,都按照同样的方法来分鱼。问它们最少捕了多少条鱼?

实现:

fish = 6
while True:
    is_enough = True

    # 检查目前的鱼的数量够不够五个人分
    total = fish
    for _ in range(5):    # 此处变量为_是Python中没用到时的惯用写法
        if (total - 1) % 5 == 0:
            total = (total - 1) // 5 * 4
        else:
            is_enough = False
            break

    if is_enough:
        print(fish)
        break
    fish += 5

输出:

3121

题目3:计算机产生一个1-100的随机数,人输入自己猜的数字,计算机给出对应的提示“大一点”、“小一点”、或“恭喜你答对了”,直到猜中为止。如果猜的次数超过7次,计算机温馨提示“智商余额明显不足”。

实现:

import random

answer = random.randrange(1, 101)
count = 0
while True:
    count += 1
    user_answer = int(input('请输入你猜的数字:'))
    if user_answer < answer:
        print('大一点')
    elif user_answer > answer:
        print('小一点')
    else:
        print('恭喜你猜对了')
        break
if count > 7:
    print('温馨提示:智商余额明显不足')

题目4:输入10个1-99的整数,计算平均值,找出最大值和最小值。

实现:

total = 0
max_value, min_value = 0, 100
for _ in range(10):
    temp = int(input('请输入:'))
    total += temp
    if temp > max_value:
        max_value = temp
    if temp < min_value:
        min_value = temp
print(f'平均值:{total / 10}')
print(f'最大值:{max_value}')
print(f'最小值:{min_value}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不在同一频道上的呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值