ex21.py
代码
def add(a, b):#加
print(f"ADDING {a} + {b}")
return a + b
def subtract(a, b):#减
print(f"SUBTRACTING {a} - {b}")
return a - b
def multiply(a, b):#乘
print(f"MULTIPLYING {a} * {b}")
return a * b
def divide(a, b):#除
print(f"DIVIDING {a} / {b}")
return a / b
print("Let's do some math with just functions!")
age = add(30, 5)#加方法35
height = subtract(78, 4)#减方法74
weight = multiply(90, 2)#乘方法180
iq = divide(100, 2)#除方法50
print(f"Age: {age}, Height: {height}, Weight: {weight}, IQ: {iq}")
#A puzzle for the extra credit, typt it in anyway.
print("Here is a puzzle.")
what = add(age, subtract(height, multiply(weight,divide(iq, 2))))#-4391
print("That becomes: ", what, "Can you do it by hand?")
'''-----------------------------------------------------------------------------'''
'''
1. 如果你还不能真正理解 return 是干什么的,试着写几个你自己的函数,并且让它们返回一些值。
你可以让它 return 任何东西,只要你把它们放在 = 右边即可。
2. 脚本的最后是一个难题。我在用一个函数的返回值作为另一个函数的参数,这是在一个链(chain)
里面进行的,这样就用函数创建了一个公式。它看起来确实很难,但是如果你运行这个脚本,你就可
以看到结果。你要做的就是试着弄明白创建同样操作的平常的函数是什么样的。
3. 一旦你有了可以解出这个难题的公式,试着对函数的某些部分做做改动,看看会发生什么。有意
改动一些数让它产生一些不同的值。
4. 做相反的操作。写一个简单的公式,然后用同一种方式通过函数来计算它
'''
功能
return a + b,这步做的是这些事情:
1. 我们的函数是以两个参数被调用的: a 和 b 。
2. 我们把函数所做的事情打印出来,在本例中是 “ADDING”。
3. 然后我们让 Python 做一些反向的事情:我们返回 a + b 的和。你可以这样描述:我用 a 加上 b,然后返回它们的结果。
4. Python 把这两个数加起来。然后当函数终止的时候,运行了这个函数的任何一行都能够将 a + b的结果赋予一个变量。
运行结果
问题
为什么 python 是“从后往前”(backward打印公式或者函数的?
它其实不是从后往前,它是从里到外(inside out)。当你开始把代码打乱成分开的公式和函数时,你会看到它是如何工作的。试着理解我说的 “inside out” 而不是 “backward” 。
我如何使用 input() 来输入我自己的值?
还记得 int(input()) 吗?这样做的问题是你不能输入浮点数,所以试着用 float(input()) 来代替。
你说的“写一个公式”是什么意思?
先试试 24 + 34 / 100 - 1023 吧,变成使用函数来计算。然后自己想出一个类似的数学公式,要用变量让它看起来更像一个公式。