文章目录
- 最大公约数
- 最小公倍数
- 生成日历
- 递归调用
- 字符串
说明:本篇博文的知识点大部分来自 Python3 实例
最大公约数
求最大公约数的逻辑比较简单,这里直接上代码:
def maxCommDiv(val1, val2):
if val1 > val2:
smaller = val2
else:
smaller = val1
commDiv = 0
for item in range(1, smaller + 1):
if (val1 % item == 0) and (val2 % item == 0):
commDiv = item
return commDiv
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
print(num1, ",", num2, "的最大公约数是:", maxCommDiv(num1, num2))
运行结果:
最小公倍数
def minCommMult(val1, val2):
if val1 > val2:
greater = val2
else:
greater = val1
while True:
if (greater % val1 == 0) and (greater % val2 == 0):
commMult = greater
break
greater += 1
return commMult
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
print(num1, ",", num2, "的最小公倍数是:", minCommMult(num1, num2))
运行结果:
生成日历
关键在于引入日历模块
import calendar
# 输入指定年月
yy = int(input("输入年份: "))
mm = int(input("输入月份: "))
# 显示日历
print(calendar.month(yy, mm))
运行结果:
进入calendar.py文件,能够看到文件的所有函数。可以自己选择不同的函数进行调用,每个函数都有对应的说明。
比如我调用calendar函数:
print(calendar.calendar(2020))
会把2020年的所有月份,以及日期都打印出来。
递归调用
这里使用一个简单的递归作为示例。并且对逻辑进行讲解。
先看代码:
def printNum(val1):
if val1 <= 0:
return
print(val1)
val1 -= 1
printNum(val1)
try:
num = int(input("请输入一个正整数:"))
if num <= 0:
print("请输入一个正整数")
printNum(num)
except ValueError:
print("请输入一个正整数")
我这里定义了一个函数printNum,把输入的正整数从大到小的方式打印出来。
使用递归是为了更好的理解递归。
使用递归:首先需要设置退出条件,否则会行成死循环
我这里设置了输入参数小于等于0,则return
打印val1,让val1减一,然后再次调用自身,把减一后的val1传入,这就行成了递归。当多次调用,val1减一,逐步到了0,触发退出条件,然后函数执行完成。
运行结果:
字符串
以下就是一些函数的使用,我把用到的一些函数截图列出来了,感兴趣的小伙伴自己看看噢。