函数的功能
函数无非至少完成以上二事中的一件:
- 获得返回值
- 对传递进来的参数(非值传递)进行修改
否则要那么一段程序干嘛呢;
循环,直到获得符合条件的输入为止
inputOk = False
while not inputOk:
# 定义一个布尔变量是关键
s = input('input: ')
# 这里为 Python3 环境
try:
s = eval(s)
# 如果不是整型类型或者返回值为整形的表达式,
# 将会抛异常
inputOk = True
except Exception:
pass
print(s)
flag 变量及其位置
我们以冒泡排序为例:
def bubble_sort(l):
swapped = True
while swapped:
swappend = False
# 关键
for i in range(n-1):
if l[i] > l[i+1]:
swapped = True
t = l[i]
l[i] = l[i+1]
l[i+1] = t
从控制台获得列表的方法(循环)
l = []
inputDone = False
while not inputDone:
elem = input('Enter the element: ')
if elem == '':
inputDone = True
else:
l.append(elem)
或者不使用布尔变量,而采用break
退出循环的方式:
l = []
while True:
elem = input('enter the element: ')
if elem == '':
break
else:
l.append(elem)
断言函数(predicate)
断言函数:给定某一输入(单参数,多参数),返回布尔类型
如:
bool pred(int i)
{
return i > 5 && i < 12;
}