本文主要是介绍0x09 - 详谈Python循环结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- while
- for
- 常用循环算法
目录: 0x00 - Python学习笔记
while
在日常生活中,很多地方要用到循环算法,while
是循环算法的关键词之一
示例:我们将 10000 元存入一个年利率为 5% 的银行账户中,求账户余额增长到原来投资额的两倍需要多少年?
# 创建常量变量
INITIAL_BALANCE = 10000.0
RATE = 5.0
TARGET = 2 * INITIAL_BALANCE# 初始化用于循环的变量
balance = INITIAL_BALANCE
year = 0# 计算投资收益翻倍所需年份
while balance < TARGET :year = year + 1interest = balance * RATE / 100balance = balance + interest# 打印结果
print("收益翻倍需要", year, "年")
for
我们常常需要访问字符串中的每个字符,for
循环提供了使该过程易于编程的实现方法。
假设要打印一个字符串,每行一个字符。我们需要遍历字符串中的每一个字符,并分别打印他们:
stateName = "CSDN"
for letter in stateName :print(letter)
这里的letter
是stateName
中的每一个字符,我们也可以使用索引来实现
stateName = "CSDN"
for i in range(len(stateName)) :print(stateName[i])
上述方法使用了 range
函数,它的作用是产生连续的数字,他的参数可以是一个,也可以是多个:
>>> for i in range(5) :print(i)0
1
2
3
4
>>> for i in range(2, 5) :print(i)2
3
4
>>> for i in range(1, 5, 2) :print(i)1
3
我们通常使用以下方法来使用for
:
for year in range(1, len(year) + 1) :
那我们什么时候用range()
呢
当我们只需要迭代容器内的每一个值得时候,不需要使用range()
;如果我们需要知道都一个元素在容器中的准确位置时,最好使用range()
容器就是for
中的可迭代序列
常用循环算法
##
# 编写程序,求用户输入数据的总和及平均数
## 初始化
total = 0.0
count = 0# 预读取用户指令
inputStr = input("Enter value: ")# 设置哨兵值为空
while inputStr != "" :value = float(inputStr) # 初始化指令为数字total = total + valuecount = count + 1# 修改读取用户指令inputStr = input("Enter value: ")if count > 0 :average = total / count
else :average = 0.0
print("您输入数字的总和为%f,平均数为%f" % (total, average))
##
# 本程序用于处理用户输入的一系列成绩
# 计算成绩合格的人数和成绩不合格的人数
# 计算平均成绩,查找最高成绩和最低成绩
## 初始化计数器变量
numPassing = 0 # 合格人数
numFailing = 0 # 不合格人数# 初始化用于计算平均成绩的值
total = 0
count = 0# 初始化最高成绩和最低成绩变量
maxGrade = 0.0
minGrade = 100.0 # 默认最高成绩为100# 使用while循环读取成绩
grade = float(input("请输入成绩(-1退出):"))
while grade >= 0.0 :# 递归成绩合格、不合格人数计数器if grade >= 60.0 :numPassing = numPassing + 1else :numFailing = numFailing + 1# 判断成绩是否为最低成绩或最高成绩if grade < minGrade :minGrade = gradeif grade > maxGrade :maxGrade = grade# 把成绩累加到total中total = total + gradecount = count + 1# 读取下一个成绩grade = float(input("请输入成绩(-1退出):"))# 打印结果
if count > 0 :average = total / countprint("平均成绩为:%.2f" % average)print("合格人数为:", numPassing)print("不合格人数为:", numFailing)print("最高成绩为:%.2f" % maxGrade)print("最低成绩为:%.2f" % minGrade)
这篇关于0x09 - 详谈Python循环结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!