流程控制
代码块和缩进
Python的一个与众不同之处是,使用缩进来标识代码块。
缩进量很重要,在Python语句块中,多一个或少一个空格都可能导致错误或意外行为。在同一个代码块中,所有语句的缩进量必须相同。
if/elif语句
if/elif语句是if语句的推广版本,它包含多个条件,用于做出复杂的决策。
条件表达式
food = input('what's your favorite food?')
reply = 'yuck' if food == 'lamb' else 'yum'
等于
food = input('what's your favorite food?')
if food == 'lamb':
reply = 'yuck'
else:
reply = 'yum'
循环
Python 有两种主要的循环:for 和 while
for
for i in range(10):
print(i)
range(startIndex, endIndex, step)
for i in range(1, 11)
print(i)
# 递减
for i in range(10, 0, -1)
print(i)
while
和java差不多,注意缩进规则
比较for和while循环
计算阶乘
阶乘是类似于这样的数字:1 * 2 * 3 * ··· * n,指出了将n个物体排列时有多少方式。
for:
n = int(input('Enter an integer >= 0: '))
fact = 1
for i in range(2, n + 1):
fact = fact * i
print(str(n) + ' factorial is ' + str(fact))
while:
n = int(input('Enter an integer >= 0 '))
fact = 1
i = 2
while i <= n:
fact = fact * i
i = i + 1
print(str(n) + ' factorial is ' + str(fact))
计算用户输入的数字的总和
for:
n = int(input('How many numbers to sum? '))
total = 0
for i in range(n):
s = input('Enter number ' + str(i + 1) + ': ')
total = total + int(s)
print('The sum is ' + str(total))
while:
n = int(input('How many numbers to sum? '))
total = 0
i = 1
while i < n:
s = input('Enter number ' + str(i) + ': ')
total = total + int(s)
i = i + 1
print('The sum is ' + str(total))
计算未知个数字的总和
for 循环无法处理这种情形。
假设我们要让用户输入一系列数字,以计算他们的总和,但预先并不询问用户有多少个数字。相反,用户输入所有的数字后,只需输入‘done’来指出这一点。
total = 0
s = input('Enter a number or done: ')
while s != 'done':
total = total + int(s)
s = input('Enter a number or done: ')
print('The sum is ' + str(total))
跳出循环和语句块
break 语句提供了一种便利方式,让你能够从循环体内的任何地方跳出循环。
continue 让你能够立即跳转到循环条件,即进入循环的下一次迭代。
一般而言,明智的选择是,除非break和continue让代码更简单或更清晰,否则不要使用它。
循环中的循环
打印十十乘法表:
for row in range(1, 10):
for col in range(1, 10):
prod = row * col
if prod < 10:
print(' ', end='')
print(row * col, ' ', end='')
print()
注意到使用了语句if prod < 10 来确保输出整齐地排列
网友评论