• 「Python循环结构」阿凡提拿工资


    案例要求

    土财主巴依老爷叫阿凡提帮他干活,每个月给他200元。阿凡提想了想,提议说:“第一天给我1毛钱,第二天给我2毛钱,第三天给我4毛钱,以后每天是前一天的2倍,一个月给30天。”财主一听,当即答应。不到半个月,巴依财主大呼上当,叫苦不迭,最终欠下阿凡提一大笔钱。试计算一下阿凡提一个月可以拿多少钱。

    功能要求

    编写一个控制台应用程序,计算阿凡提每天应得到多少钱。

    程序分析

    第一天1毛钱,第二天2毛钱,第三天4毛钱,以后每天是前一天的2倍,使用可以的除天数和钱数的对应关系:

    每天应得的钱 = 0.1 × 2(天数 -1)

    要得出一个月30天每天应得到的钱,需要重复计算30次。

    实例代码

    1. for day in range(1, 31):
    2.     money = 0.1 * 2 ** (day - 1)
    3.     print(day, money)

    运行结果

     

     

    知识说明

    程序中的range表达的是在一定范围内的意思,其语法格式如下:

    range([start,] end [,step])

    start:范围的起点,是循环开始的地方。可省略不写,若省略,则默认值为0。例如:range(5)等价于range(0, 5)。

    end:范围的终点,是循环结束的地方。不可省略,终点不包含end的值。例如:range(0, 5)的值为[0, 1, 2, 3, 4]。

    step:范围的步长,可以省略,若省略,则默认步长为1。例如,range(0, 5, 3)的值为[0, 3]。

    功能要求

    编写一个控制台应用程序,计算阿凡提计一个月应得到的钱。

    要累计计算一个月30天的总金额,就需要连续累加从第1天到第30天金额之和。

    实例代码

    1. total = 0
    2. for day in range(1, 31):
    3.     money = 0.1 * 2 ** (day - 1)
    4.     total += money
    5. print("总金额:", total)

    运行结果

     

     

    知识说明

    注意

    创建一个新变量total代表金额之和。

    total += money:等价于total = total + money

    功能要求

    假设巴依财主的财产总共只有800万元,当支付给阿凡提的钱超过800万元时循环结束。输出在第几天的时候支付给阿凡提的钱超过800万元。

    实例代码

    1. total = 0
    2. for day in range(1, 31):
    3.     money = 0.1 * 2 ** (day - 1)
    4.     total += money
    5.     if total >= 8000000:
    6.         print("经历天数:", day, "总金额:", total)
    7.         break

    运行结果

     

     

    知识说明

    控制循环,Python提供了break和continue两个方法

    break:经常和if条件判断搭配使用,用于处理满足某种条件时结束循环的情况。如果嵌套了多层循环,只结束最近的一层循环。

    功能要求

    编写一个控制台应用程序,输出0~4之间除2之外的整数。

    实例代码

    1. for i in range(5):
    2.     if i == 2:
    3.         continue
    4.     print("i的值为:", i)

    运行结果

     

     

    知识说明

    continue:也常与if条件判断搭配使用,用于处理满足某种条件的情况下,忽略循环体后面的代码,直接进入下一轮循环。如果嵌套了多层循环,则只忽略最近的一层循环体后面的代码。

  • 相关阅读:
    前端的(typeScript)interface详解(个人学习用)
    使用 Node.js 和 Azure Function App 自动更新 Elasticsearch 索引
    Python的Matplotlib库:数据可视化的利器
    Java的AQS是个什么东西?它的原理你知道吗?
    无涯教程-Android - List fragments函数
    疫情可视化part3
    Dubbo夺命17连问
    队列的基本操作(C语言实现)
    mysql 查找表中重复数据 类型题目
    Web前端大作业制作个人网页(html+css+javascript)
  • 原文地址:https://blog.csdn.net/huijianight/article/details/126104394