IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习笔记:05 分支与循环结构的应用 -> 正文阅读

[Python知识库]Python学习笔记:05 分支与循环结构的应用

05 分支与循环结构的应用

经典案例

例1:斐波那契数列

说明:斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和。那么斐波那契数列的前十个数为:1 1 2 3 5 8 13 21 34 55

"""
example1 - 输入一个整数n,输出n个斐波那契数
1 1 2 3 5 8 13
Author: yucui
Date: 2021/7/22
"""

n = int(input('请输入一个整数:'))
a, b = 1, 1
print(a, b, end=' ')
while n - 2:
    c = a + b
    print(c, end=' ')
    b = a
    a = c
    n = n - 1

输入n = 20

运行结果:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 

例2:百钱买百鸡问题

公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

"""
example2 - 百钱买百鸡
穷举法(暴力破解法):穷尽所有可能性,然后设置条件,找到问题的解
Author: yucui
Date: 2021/7/22
"""
# 公鸡取值范围是0到20
for x in range(0, 21):
    # 母鸡取值范围是0到33
    for y in range(0, 34):
        z = 100 - x - y
        if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
            print(f'公鸡{x}只, 母鸡{y}只, 小鸡{z}只')

例3:分鱼问题

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

"""
example3 - 穷举法求解分鱼问题
Author: yucui
Date: 2021/7/22
"""
num = 6
while num:
    is_enough = True
    # 检查目前的鱼够不够5个人分
    total = num
    for _ in range(5):
        if (total - 1) % 5 == 0:
            total = (total - 1) // 5 * 4
        else:
            is_enough = False
            break
    if is_enough:
        print(num)
        break
    num += 5

思路:假定一共钓了6条鱼,5次循环,如果每次都能保证够5个人分,则打印该数字,否则将鱼的数量加5,直至能满足5次循环都能满足够5个人分,此时的鱼的数量是最少满足情况的数量。

例4:猜数字游戏

随机生成一个1-100的数,输入自己猜的数,
计算机给出提示:‘猜大了’、‘猜小了’、‘恭喜您猜对了’,并显示猜对用的次数,
如果猜的次数超出7,提示”智商余额明显不足“。

"""
example4 - 猜数字游戏
Author: yucui
Date: 2021/7/22
"""

from random import randrange
count = 0
num = randrange(1, 101)
while True:
    count += 1
    guess = int(input('请输入您猜的数字:'))
    if guess == num:
        print(f'恭喜您猜对了,您一共猜了{count}次')
        break
    elif guess < num:
        print('猜小了')
    else:
        print('猜大了')
if count > 7:
    print('智商余额明显不足')

例5:最大值、最小值、平均值问题

输入10个范围在1-99的正整数,输出最大值、最小值、平均值

"""
example5 - 输入10个正整数1-99,找最大值、最小值、平均值
Author: yucui
Date: 2021/7/22
"""

max_num = 0
min_num = 100
total = 0
count = 0
while count < 10:
    num = int(input('请输入:'))
    if num < 1 or num > 99:
        print('无效输入')
        continue
    count += 1
    if max_num < num:
        max_num = num
    if min_num >= num:
        min_num = num
    total += num
average = total / 10
print(f'最大值{max_num},最小值{min_num},平均值{average:.2f}')
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 23:57:56  更:2021-07-24 23:58:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 1:20:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码