笨方法学python 习题21

习题21
python:3.9

def add(a,b):
    print ("ASSING %d +%d"%(a,b))
    return a+b
    
def subtract(a,b):
    print("SUBTRACTING %d -%d"%(a,b))
    return a-b
    
def multiply(a,b):
    print("MULTIPLYING %d*%d"%(a,b))
    return a*b 
    
def divide (a,b):
    print ("DIVIDING %d /%d"%(a,b))
    return a/b
    
print ("Let's do some math with just funtions!")

age= add(30,5)
height= subtract(78,4)
weight=multiply(90,2)
iq=divide(100,2)

print("Age:%d,Height:%d,Weight:%d,IQ:%d"%(age,height,weight,iq))


# A puzzle for the extra creadit, type it in anyway.
print ("Here is a puzzle")

what =add (age,subtract(height,multiply(weight,divide(iq,2))))

print ("That becomes:",what,"Can you do it  by hand?")

运行结果为

PS C:\Users\78523\mybuff> python ex21.py
Let's do some math with just funtions!
ASSING 30 +5
SUBTRACTING 78 -4
MULTIPLYING 90*2
DIVIDING 100 /2
Age:35,Height:74,Weight:180,IQ:50
Here is a puzzle
DIVIDING 50 /2
MULTIPLYING 180*25
SUBTRACTING 74 -4500
ASSING 35 +-4426
That becomes: -4391.0 Can you do it  by hand?

加分习题

  1. 如果你不是很确定 return 的功能,试着自己写几个函数出来,让它们返回一些值。你可以将任何可以放在 = 右边的东西作为一个函数的返回值。
def Coca(a,b,c,d):
    print ("Coca=%d+%d*%d/%d"%(a,b,c,d))
    return a+b*c/d


Cocas=Coca(10,20,30,3)
print("I have %d Coca."%Cocas)

结果如下

PS C:\Users\78523\mybuff> python ex21.21.py
Coca=10+20*30/3
I have 210 Coca.
  1. 这个脚本的结尾是一个迷题。我将一个函数的返回值用作了另外一个函数的参数。我将它们链接到了一起,就跟写数学等式一样。这样可能有些难读,不过运行一下你就知道结果了。接下来,你需要试试看能不能用正常的方法实现和这个表达式一样的功能。
part_one = divide(iq,2)
part_two = multiply(weight,part_one)
part_three = subtract(height,part_two)
part_four = add(age,part_three)
print (“That becomes:,part_four,“Can you do it by hand?”)
  1. 一旦你解决了这个迷题,试着修改一下函数里的某些部分,然后看会有什么样的结果。你可以有目的地修改它,让它输出另外一个值。
    答(随便更改数值就可以)

  2. 最后,颠倒过来做一次。写一个简单的等式,使用一样的函数来计算它。


def add(a,b):
    print ("ASSING %d +%d"%(a,b))
    return a+b
    
def subtract(a,b):
    print("SUBTRACTING %d -%d"%(a,b))
    return a-b
    
def multiply(a,b):
    print("MULTIPLYING %d*%d"%(a,b))
    return a*b 
    
def divide (a,b):
    print ("DIVIDING %d /%d"%(a,b))
    return a/b
    
print ("Let's do some math with just funtions!")



num1=24
num2=34
num3=100
num4=1023
what =subtract(divide(add(num1,num2),num3),num4)

print ("That becomes:",what,"Can you do it  by hand?")

结果如下

PS C:\Users\78523\mybuff> python ex21.py
Let's do some math with just funtions!
ASSING 24 +34
DIVIDING 58 /100
SUBTRACTING 0 -1023
That becomes: -1022.42 Can you do it  by h

这个习题可能会让你有些头大,不过还是慢慢来,把它当做一个游戏,解决这样的迷题正是编程的乐趣之一。后面你还会看到类似的小谜题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值