Python自学1
1.range()函数可以有三个参数,前两个参数是起始值和终止值,第三个是“步长”,步长是每次迭代后循环变量增加的值
例如:for i in range(0,10,2)
2.在代码中,import语句包含以下部分:
1)import 关键字
2)模块的名称
3)可选的更多模块名称,之间可以用逗号隔开
例如:import random,sys,os,math 现在我们可以使用这四个模块中的所有函数
random.randint(1,10) 调用求值为传递给它的两个整数之间的一个随机整数
3.import语句的另一种形式包括from关键字,之后是模块名字,import关键字和一个星号,例如:from random import * (使用这种形式调用random模块中的函数不需要random前缀)
4.sys.exit()提前结束程序。需要提前导入sys模块
例如:if response == ‘exit’
sys.exit()
5.round() 方法返回浮点数x的四舍五入值。例如:round(80.23456, 2) : 80.23
6.abs()方法返回数字的绝对值
7.用def语句创建函数时,可以用return语句指定应该返回什么值,return语句包含以下部分:
1)return关键字
2)函数应该返回的值或表达式
如果在return语句中使用率表达式,返回值就是该表达式求值的结果
8.简化代码段
i=random.randint(1,3)
# for i in range(1, 4):
fortune = getChoice(i)
print(fortune)
print(getChoice(random.randint(1,3)))
9.None表示没有值。None是NoneType数据类型的唯一值(其他编程语言可能称这个值为null、nil、undefined)
10.print()函数有可选的变元end和sep,分别制定在参数末尾打印社么,以及在参数之间打印什么来隔开它们
print('cat',end=' ')
print('cool')
print('cat', 'dog', 'crow')
print('cat', 'dog', 'crow', sep=',')
cat cool
cat dog crow
cat,dog,crow
11.全局变量可以在局部作用域中读取
def spam():
print(eggs)
eggs = 44
spam()
print(eggs)
#两次打印出来的值均为44
12.如果需要在一个函数内修改全局变量,就是用global语句
def spam():
global eggs
eggs = 'spam'
eggs = 'global'
spam()
print(eggs)
#返回值为spam
13.错误可以由try和except语句来处理。那些可能出错的语句被放在try子句中。如果错误发生,程序执行就可以转到接下来的except子句开始处理。
def spam(div):
try:
return 42 / div
except ZeroDivisionError:
print('Erron:Invalid argument')
print(spam(5))
print(spam(0))
print(spam(2))
结果:
8.4
Erron:Invalid argument
None
21.0
14.习题(collatz序列)
编写一个名为collatz()的函数,它有一个名为number的参数,如果参数是偶数,那么collatz()就打印出number//2并返回该值,如果是奇数,就打印并返回3*number+1.然后编写一个程序,让用户输入一个整数,并不断对这个数调用collatz(),直到函数返回值为1.
def collatz(number):
while number != 1:
if number % 2 == 0:
number = number // 2
print(number)
else:
number = 3 * number + 1
print(number)
print('Type a number')
try:
number = int(input())
except ValueError:
print('必须输入整数')
collatz(number)
结果:
Type a number
3
10
5
16
8
4
2
1