defadd(*args):"""
定义可变参数,累加
:param args: 可变参数
:return: 累加求和后的值
"""
total = 0for value in args:
total += value
return total
if __name__ == '__main__':
print(add(1,2,3,4,5,10))
variable 变量
constant 常量
python 搜索一个变量的方式是从局部作用域到嵌套作用域再到全局作用域
Local - Enclosed - Global
如果想改变搜索范围,可以使用global 和nonlocal关键字
实际开发时,一定要减少对全局变量的使用
迪米特法则
在函数外面定义的a是一个全局变量
global variable
a = 100deff():# 函数内的局部变量,离开f()函数变量a是无法访问的# local variableglobal a # 局部变量中执行全局变量
a = 200
print(a)
f()
print(a)
小结:从局部作用域到嵌套作用域再到全局作用域,弄清楚每一步步骤~
例2:21根火柴,人先拿,机后拿,(1,4),最后拿到一根火柴的输
from random import randint
defmain():
total = 21while total > 0:
whileTrue:
num = int(input('拿几根火柴:'))
if1 <= num <= 4and num <= total:
break
total -= num
if total > 0:
com = randint(1,min(4,total))
print('计算机拿走了%d根火柴'%(com))
total -= com
if total == 0 :
print('电脑拿到了最后一根火柴,你赢了!')
else:
print('你拿到了最后一根火柴,你输了!')
if __name__ == '__main__':
main()