分享10个python中的基础练手案例,快来测测自己的水平吧
一:猜拳游戏
"""
需求:
① 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
② 电脑 随机 出拳
③ ⽐较胜负
"""
# 1.导入随机模块
import random
# 2.玩家要输入出的是什么
player = int(input('请出拳⽯头(1)/剪⼑(2)/布(3):'))
print(f'玩家出{player}')
# 3.电脑使用随机模块,随机出
computer = random.randint(1,3)
print(f'电脑出{computer}')
# 4.判断游戏玩家与电脑的输赢
# 玩家赢的三种可能性
if player == 1 and computer == 2 or player == 2 and computer == 3 or player == 3 and computer == 1:
print('玩家获胜')
# 平局
elif player == computer:
print('平局')
# 电脑获胜
else:
print('电脑获胜')
二:计算1~100的累加和(包含1和100)
i = 1
_sum = 0
while i <= 100:
_sum += i
i += 1
print(_sum)
三:计算1~100之间偶数的累加和
i = 1
_sum = 0
while i <= 100:
_sum += i
i += 2
print(_sum)
四:打印正方形
需求:打印效果如下
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
"""
i = 1
while i<=5:
j = 1
while j<=5:
print('*',end= " ")
j +=1
print()
i += 1
五:打印正三角形
"""
需求:打印效果如下
*
* *
* * *
* * * *
* * * * *
"""
i =1
while i<=5:
j = 1
while j<=i:
j+= 1
print('*',end=" ")
print()
i+=1
六:打印倒三角形
"""
* * * * *
* * * *
* * *
* *
*
"""
i = 5
while i >= 1:
j = 1
while j <= i:
print('*',end=' ')
j += 1
print()
i -= 1
七:输出 9*9 乘法口诀表
"""
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
"""
for i in range(1,10):
for j in range(1,i+1):
print(f'{i}*{j}={i*j}',end=' ')
print()
八:使用函数求是三个数的平均值
"""
需求: 使用函数求是三个数的平均值
"""
def sum(num1,num2,num3):
"""
sum()函数求三个数和的平均值
:param num1: 第一个数
:param num2: 第二个数
:param num3: 第三个数
:return: 返回三个数的平均值
"""
return (num1+num2+num3) /3
print(sum(10,20,30))
九:隐藏手机号的中间4位
num = input('请输入手机号:')
nums = num[:3]+'****'+num[-4:]
print(nums)
十:斐波那契数列
"""
斐波那契数列:1,1,2,3,5,8,13,21....
使用递归求解斐波那契数列的第10位结果
解题思路三步走:
1.明确函数要做什么,是否有参数
2.寻找递归结束条件(递归出口) ==>找最小的问题
3.寻找与问题等价的关系式
func(1) = 1
func(2) = 1
func(3) = func(1) + func(2)
func(4) = func(2) + func(3)
...
func(n) = func(n-2) + func(n-1)
"""
#定义函数
def func(n):
if n == 1 or n == 2: #找最小出口
return 1
return func(n-2)+func(n-1) #找等价关系式
# 调用函数
print(func(10))