def myfirstfunction():#一定要有小括号
print('这是我创建的第一个函数!')
print('我表示很激动.....')
print('在此我要感谢小甲鱼,感谢pdd')
0. 你有听说过DRY吗?
DRY是程序员们公认的原则:Don’t Repeat Yourself
1. 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢?
使用函数有以下好处:
2. 函数可以有多个参数吗?
可以,但最好不要太多,在python的世界里,精简才是王道
3. 创建函数使用什么关键字,要注意什么?
def ,注意加小括号,小括号后面是冒号
4. 请问这个函数有多少个参数?
def MyFun((x, y), (a, b)):
return x * y - a * b
答案是 0,因为类似于这样的写法是错误的!
>>> def MyFun(x, y):
return x[0] * x[1] - y[0] * y[1]
>>> MyFun((3, 4), (1, 2))
10
我们分析下,函数的参数需要的是变量,而这里你试图用“元祖”的形式来传递是不可行的。
5. 请问调用以下这个函数会打印什么内容?
>>> def hello():
print('Hello World!')
return
print('Welcome To FishC.com!')
因为当 Python 执行到 return 语句的时候,Python 认为函数到此结束,需要返回了(尽管没有任何返回值)。
6.编写一个函数 power() 模拟内建函数 pow(),即 power(x, y) 为计算并返回 x 的 y 次幂的值。
def power(x,y):
return (x ** y)
7. 编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如 gcd(x, y) 返回值为参数 x 和参数 y 的最大公约数。
我的代码
def gcd(x,y):#求x和y的最大公约数
a = max(x,y)
b = min(x,y)
c = a % b
while c:
a = b
b = c
c = a % b
return b
def gcd(x, y):
while y:
t = x % y
x = y
y = t
return x
8.编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结果与调用 bin() 一样返回字符串形式。
代码1:利用pop倒取
def binnn(a):#十进制转二进制
temp = []
result = ''
while a:
b = a % 2
a = a // 2
temp.append(b)
while temp:
result += str(temp.pop())#利用pop倒取
return ("0b" + result)
def binnn(a):#十进制转二进制
temp = []
while a:
b = a % 2
a = a // 2
temp.append(b)
temp.reverse()
for i in temp:
print(i,end = '')