python 每日一练
编写加速度函数
函数TypeError
方法不存在
编写加速度函数
创建函数,计算加速度,初始和结束的速度为v1和v2,初始和结束的时间为t1和t2
然后,用参数(v1, v2, t1, t2)分别为(0, 10, 0, 20)调用函数,得到结果为:
0.5
提示:
• 你的函数应该有4个参数,就是v1, v2, t1, t2
• 函数体内实现计算(v2 - v1) / (t2 - t1)
答案
def acceleration(v1, v2, t1, t2):
a = (v2 - v1) / (t2 - t1)
return a
print(acceleration(0, 10, 0, 20))
解释:
• 定义函数的形式,为 def 函数名字(参数列表),在函数体内可以return结果
• 调用函数的形式,为 函数名(实际参数值列表),得到函数return的返回值
函数TypeError
如下代码会报错,你知道为什么吗,怎么修复错误?
def foo(a, b):
print(a + b)
x = foo(2, 3) * 10
def foo(a, b):
print(a + b)
x = foo(2, 3) * 10
答案:
• 代码的第4行会报错,因为Python不能完成None和数字的相乘
• 这个函数做了print,但是没有return,没有return结果的函数,默认返回None
解决办法:把print改成return,可以让函数返回一个具体的值
def foo(a, b):
return a + b
x = foo(2, 3) * 10
print(x)
方法不存在
如下代码为了输出数字的cosine值,但是报错了说方法cosine不存在,你该怎么修正?
import math
print(math.cosine(1))
提示:
• 要查询math怎么计算cosine值,可以去百度搜索下
• 也可以自己查看dir(math)得到这个模块所有的方法,找出正确的方法名
• 可以用类似print(help(math.cosine))的方式,查看方法的注释
答案
import math
print(dir(math))
print(help(math.cos))
print(math.cos(1))
解释:
• print(dir(math))可以查看这个模块的所有方法名
• print(help(math.cos))可以看到这个方法的注释,看到是计算cosine的
• 如果在pycharm中,可以按住键盘的ctrl键同时鼠标左键点击math.cos方法名,可以看到
这个方法的源代码的注释