1.反转整数(回文数)
num = int(input('num = '))
reversed_num = 0
while num > 0:
reversed_num = reversed_num * 10 + num % 10
num //= 10
print(reversed_num)
分析一下代码:
如果输入的是一个二位数,第一轮循环就是取个位数作为reversed_num,再取十位数作为num,随后在第二轮中reversed_num=个位数*10+十位数,num=0 循环中止。
如果输入的是一个三位数,例如143,第一次循环后,reversed_num=3,也就是个位数,num=14,第二次循环后reversed_num=30+4=34,num=1。第三次循环后,reversed_num=340+1,num=0循环中止。
根据以上两个例子的分析可以看出,背后的逻辑是从个位数开始提取,第一次循环reversed_num=个位数字,num= 除开个位数的剩下数字;第二次reversed_num=十位数字+十倍的个位数字, num=除开个位数和十位数的剩下的数字; 第三次循环reversed_num=百位数字+十倍的十位数字+百倍的个位数字…
2.定义函数
在不确定参数个数的时候,可以使用可变参数:
def add(*args):
total = 0
for val in args:
total += val
return total
3. 引入模块
一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。
if name == ‘main’ 我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。
一个简单的例子,const.py:
Pi = 3.14
def main():
print('Pi =',Pi)
main()
我们在这个文件里边定义了一些常量,然后又写了一个 main 函数来输出定义的常量,最后运行 main 函数就相当于对定义做一遍人工检查,看看值设置的都对不对。然后我们直接执行该文件(python const.py),输出:
PI: 3.14
现在,我们有一个 area.py 文件,用于计算圆的面积,该文件里边需要用到 const.py 文件中的 PI 变量,那么我们从 const.py 中把 PI 变量导入到 area.py 中:
from const import Pi
def cal(radius):
return Pi*radius**2
def main():
print('round area is',cal(2))
main()
运行 area.py,输出结果:
PI: 3.14
round area: 12.56
可以看到,const 中的 main 函数也被运行了,实际上我们是不希望它被运行,提供 main 也只是为了对常量定义进行下测试。这时,if name == ‘main’ 就派上了用场。把 const.py 改一下:
Pi = 3.14
def main():
print('Pi =',Pi)
if __name__ == '__main__':
main()
然后再运行 area.py,输出如下:
round area: 12.56
再运行下 const.py,输出如下:
PI: 3.14
这才是我们想要的效果。
以上示例来自于:https://www.cnblogs.com/yaohong/p/8660209.html