程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

「Python循环结构」阿凡提拿工资_python用于实现循环结构的语句

hfteth 2025-02-21 13:30:00 技术文章 19 ℃

案例要求

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

功能要求

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

程序分析

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

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

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

实例代码

for day in range(1, 31):

money = 0.1 * 2 ** (day - 1)

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天金额之和。

实例代码

total = 0

for day in range(1, 31):

money = 0.1 * 2 ** (day - 1)

total += money

print("总金额:", total)

运行结果

知识说明

注意

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

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

功能要求

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

实例代码

total = 0

for day in range(1, 31):

money = 0.1 * 2 ** (day - 1)

total += money

if total >= 8000000:

print("经历天数:", day, "总金额:", total)

break

运行结果

知识说明

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

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

功能要求

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

实例代码

for i in range(5):

if i == 2:

continue

print("i的值为:", i)

运行结果

知识说明

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

最近发表
标签列表