目录
1 常用的while循环
while循环语句简单易用,很好理解。格式如下:
while 条件表达式:
语句块
注意,不要漏了分号,要注意缩进。那它是怎么运作的呢???
下面一个简单的例子来讲解。
while 作业没写完:
思考一下
写一个字
模拟一下情况:假设今天的作业是1+1=?,并且要抄题。那么程序运行过程如下:
- 判断作业没写完(True)
- 思考(将要写1)
- 写一个字(1)
- 判断作业没写完(True)
- 写一个字(+)
- 判断作业没写完(True)
- 思考(将要写1)
- 写一个字(1)
- 判断作业没写完(True)
- 思考(将要写=)
- 写一个字(=)
- 判断作业没写完(True)
- 思考(1+1=3,将要写3)
- 写一个字(3)
- 判断作业没写完(False)
- 开电脑玩游戏啦!!!
所以结果为1+1=3。不要问我为什么。循环的实际流程用文字表达是这样的:在每次执行语句块(循环体)前,判断条件表达式,如果为True,执行语句块;否则(为False),结束循环(不执行语句块)。到这里,大家应该理解了。
这一章速度比较快。瞬间就来到了for循环!
2 for循环
for循环语句可以执行指定次数,准确来说是遍历一个可迭代对象,但这个以后再学,现在只需要学习第一种使用方式。
for循环格式如下:
for 迭代变量 in 可迭代对象:
语句块
我们一般用i(index)来做迭代变量,i储存迭代内容。迭代变量可以有多个,但那是以后的知识。可迭代对象我们用range(n),该函数返回一个序列。range函数还有其他用法,我会在需要的时候介绍他们。现在只需要知道,range可以生成一个0~n-1的序列,可以用变量i遍历它。在一般的使用方法中,i存储正在进行第几次循环。比如,i为0就是第一次循环,为3就是第2次,为12345就是第12344次。常用版的for循环格式如下:
for i in range(迭代次数):
语句块
当然,以后会学习更多的for循环用法,大家也可以搜查其他网络资料、书籍。
学完之后,就可以来试试身手了。
3 阶乘函数
先说明一下,把加减乘除函数弄复杂是为了学习if-elif-else语句,现在将其删除。
PI = 3.141592653589793
const_E = 2.718281828459535
def abs(number):
"""计算一个数的绝对值"""
if number < 0:
return -number #如果为负数,返回它的相反数
elif number >= 0:
return number #如果不为负数,返回它本身
def add(addend1, addend2):
"""计算两个参数相加的和"""
return addend1 + addend2
def sub(minuend, subtraction):
"""计算第一个参数减第二个参数的差"""
return minuend - subtraction
def mul(multiplier1, multiplier2):
"""计算两个参数相加的和"""
return multiplier1 * multiplier2
def div(dividend, divisor):
"""计算第一个参数减第二个参数的差"""
#将计算结果乘10^10,舍去其余数位,再把结果除以10^10,实现保留10位小数
return int(dividend / divisor * 10000000000)/10000000000
def factorial(number):
"""计算一个数的阶乘"""
index = number
result = 1
while index > 0:
result *= index
index -= 1
return result
注:a *= b就是a = a * b,a -= b就是a = a - b。类似的,其他也可以自己推。
4 期待下次学习!
下一次,就迈进列表、元组和字典了哦!