重新学习python17

0. 你有听说过 DRY 吗?
DRY 是程序员们公认的指导原则: Don't Repeat Yourself.
快快武装你的思维吧,拿起函数,不要再去重复拷贝一段代码了


1. 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢?
使用函数 :
0) 可以降低代码量(调用函数只需要一行,而拷贝黏贴需要 N 倍代码)
1) 可以降低维护成本(函数只需修改 def 部分内容,而拷贝黏贴则需要每一处出现的地方都作修改)
2) 使序更容易阅读

 

2. 函数可以有多个参数吗?
可以的, 理论上你想要有多少个就可以有多少个, 只不过如果函数的参数过多, 在调用的时候出错的机率就会大大提高, 因而写这个函数的程序员也会被相应的问候祖宗, 所以, 尽量精简吧,在 Python 的世界里,精简才是王道!
 

3. 创建函数使用什么关键字,要注意什么
使用“ def ”关键字,要注意函数名后边要加上小括号“ 然后小括号后边是冒号“ () ”, : ”,然后缩进部分均属于函数体的内容。
 

 

4. 请问这个函数有多少个参数?

def MyFun((x, y), (a, b)):
   return x * y - a * b

如果你回答两个,那么恭喜你错啦,答案是 0,因为类似于这样的写法是错误的!
我们分析下, 函数的参数需要的是变量, 而这里你试图用“元祖”的形式来传递是不可行的。
 

5 下列函数的输出为 heelo world!

def hell():
    print("hello world!")
    return
    print("welcome to my home!")

a = hell()

当 Python 执行到 return 语句的时候, Python 认为函数到此结束, 需要返回了 (尽管没有任何返回值)
 

 

 

##求最大公约数
"""

def gcd( x, y ):
    temp = x + 1
    if ( x > y) :
        temp = y + 1
    list = []
    for i in range(2, temp):
        if( x % i == 0 and y % i == 0 ) :
            list.append(i)
            print(list)
    list = sorted(list, reverse = True)
    if ( len(list) != 0 ) :
        print(list[0])
    else :
        print(1)

#d1 = gcd(5,15)
#d2 = gcd(20,15)
d3 = gcd(50,30)
"""

"""
def gcd(x, y):
 while y:
     t = x % y
     x = y
     y = t
 return x

d4 = gcd(4,9)
print(d4)
"""
#十进制转为二进制,达到bin函数的效果
def decToBin(num):
    arry = []   #定义一个空数组,用于存放2整除后的商
    while True:
        arry.append(str(num % 2))  #用列表的append方法追加
        num = num // 2   #用地板除求num的值
        if num == 0:     #若地板除后的值为0,那么退出循环
            break

    return "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接

print(decToBin(10))
print(decToBin(11))


##二进制转为十进制
def binToDec(binary):
    result = 0   #定义一个初始化变量,后续用于存储最终结果
    for i in range(len(binary)):
        #利用for循环及切片从右至左依次取出,然后再用内置方法求2的次方
        result += int(binary[-(i + 1)]) * pow(2, i)

    return result

print(binToDec("1010"))

 

参考:

Python for 循环语句

https://www.runoob.com/python/python-for-loop.html

Python 列表反转显示方法

Python实现十进制和二进制之间相互转换

Python 十进制转二进制代码实现

你可能感兴趣的:(python学习)