通过前面的两个篇章Python-入门基础篇和Python-入门基础语句篇大家应该已经认识了python基础的语句和函数了,并且可以使用pycharm编译器创建.py文件进行运行了,今天适当的来一些小练习,给枯燥的学习增添一些趣味性。
- 判断一个数是否为偶数
# 定义一个变量
num = 10
# 判断是否为偶数
if num % 2 == 0:
print(num, "是偶数")
else:
print(num, "是奇数")
- 计算两个数的乘积
# 定义两个变量
a = 3
b = 5
# 计算乘积
result = a * b
# 打印结果
print(a, "和", b, "的乘积是:", result)
- 打印出 1-10 的数字
循环打印数字
for i in range(1, 11):
print(i)
- 猜数字游戏
导入 random 模块,用于生成随机数
import random
生成一个随机数
num = random.randint(1, 10)
循环猜数字
while True:
# 提示用户输入数字
guess = int(input("请猜一个 1-10 之间的整数:"))
# 判断是否猜中了
if guess == num:
print("恭喜你,猜中了!")
break
elif guess < num:
print("猜的数字太小了,再试试!")
else:
print("猜的数字太大了,再试试!")
- 计算阶乘
# 定义一个函数,计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 调用函数,计算阶乘
num = 5
result = factorial(num)
# 打印结果
print(num, "的阶乘是:", result)
这段代码定义了一个计算阶乘的函数factorial(n),接受一个整数参数n,返回它的阶乘值。当n等于0时,函数返回1;否则,函数通过递归调用自身计算n的阶乘值。
在主程序中,变量num被赋值为5,然后调用factorial(num)函数来计算num的阶乘值。最终结果被存储在变量result中。
最后,程序打印了结果字符串,使用了字符串拼接的方式将num的值和计算结果一起输出。
详细一点来讲就是:
函数factorial(n)首先检查n是否等于0。如果是,它返回1,因为0的阶乘是1。如果不是,它递归调用自身,将n-1作为参数,并将返回值乘以n,得到n的阶乘。
在这里,我们传入参数5,factorial(5)会计算5 * factorial(4),而factorial(4)会计算4 * factorial(3),一直递归到factorial(0),这里直接返回1。然后,每个递归调用的结果都将被乘以调用它的函数的参数,最终得到5的阶乘120。
主程序中,我们调用factorial(5)并将结果存储在result中,然后使用print语句打印输出字符串。
ps:在 Python 中编写代码时,要特别注意缩进规则 python缩进规则
- 计算字符串中字符的个数
# 定义一个字符串
str = "hello world"
# 计算字符串中字符的个数
count = 0
for char in str:
count += 1
# 打印结果
print(str, "中字符的个数是:", count)
- 判断一个字符串是否为回文串
# 定义一个字符串
str = "level"
# 判断是否为回文串
if str == str[::-1]:
print(str, "是回文串")
else:
print(str, "不是回文串")
- 求两个数的最大公约数和最小公倍数
# 定义两个数
a = 12
b = 16
# 计算最大公约数
x = a
y = b
while y != 0:
r = x % y
x = y
y = r
gcd = x
# 计算最小公倍数
lcm = a * b // gcd
# 打印结果
print(a, "和", b, "的最大公约数是:", gcd)
print(a, "和", b, "的最小公倍数是:", lcm)
补充:
这段代码的功能是计算两个数的最大公约数和最小公倍数。
- 首先,定义了两个整数变量a和b,它们分别被赋值为12和16。
a = 12
b = 16 - 接下来定义了两个变量x和y,它们的值分别赋为a和b。x和y将用于计算最大公约数。
x = a
y = b - 接下来定义了两个变量x和y,它们的值分别赋为a和b。x和y将用于计算最大公约数。
while y != 0:
r = x % y
x = y
y = r
gcd = x
这是计算最大公约数的代码块。while循环的条件是y不等于0,如果y等于0,那么x就是a和b的最大公约数。在while循环中,通过不断使用辗转相除法的方式,将x和y的值进行更新,直到y等于0时,最终得到的x就是a和b的最大公约数。
辗转相除法的基本思想是:设x和y为两个正整数,r为它们的余数,那么x和y的最大公约数等于y和r的最大公约数。在每次循环中,通过计算x除以y的余数r,然后将x赋值为原来的y,y赋值为原来的r,这样不断更新x和y的值,直到y等于0时结束循环。
lcm = a * b // gcd
这一行代码用于计算最小公倍数。lcm变量被赋值为a和b的积除以它们的最大公约数,即最小公倍数等于两个数的积除以它们的最大公约数。
print(a, "和", b, "的最大公约数是:", gcd)
print(a, "和", b, "的最小公倍数是:", lcm)
最后通过print语句将a、b的最大公约数和最小公倍数输出。
ps:
最大公约数是指两个或多个整数共有的约数中,最大的一个;最小公倍数则是指两个或多个整数公共的倍数中,最小的一个。在实际问题中,最大公约数和最小公倍数经常用于化简分数、解决同余方程等。
- 实现一个简单的计算器
# 定义一个函数,实现加法
def add(a, b):
return a + b
# 定义一个函数,实现减法
def subtract(a, b):
return a - b
# 定义一个函数,实现乘法
def multiply(a, b):
return a * b
# 定义一个函数,实现除法
def divide(a, b):
if b == 0:
return "错误:除数不能为 0"
else:
return a / b
# 用户输入操作数和运算符
num1 = float(input("请输入第一个操作数:"))
op = input("请输入运算符:")
num2 = float(input("请输入第二个操作数:"))
# 根据运算符调用相应的函数进行计算
if op == "+":
result = add(num1, num2)
elif op == "-":
result = subtract(num1, num2)
elif op == "*":
result = multiply(num1, num2)
elif op == "/":
result = divide(num1, num2)
else:
result = "错误:不支持的运算符"
# 打印结果
print("计算结果是:", result)
这些小练习对于初学者来说可以先不求甚解的跟着写一写,等到累计了更多的python知识再来看这些会觉得原来很简单,不要把太多的时间浪费在这里,打好基础才是最重要的!
最后 — Python 是一门非常有用的编程语言,可以用来解决各种各样的问题。它的语法简洁明了,非常容易上手,而且有很多丰富的库和工具可供使用,让你能够更高效地开发出自己的程序。在未来的生活和工作中发挥重要的作用,加油