Python编程
python习题
1.求任意三个数的平均值
代码截图
代码
"""
题目:任意三个数的平均值
分析:1.求和
2.求平均值
"""
#求和
def sum(a,b,c):
return a+b+c
#求平均值
def avg(a,b,c):
result=sum(a,b,c) #调用求和函数
avgs=result/3 #求平均值
return avgs #返回平均值
#输出平均值
pingjun=avg(10,20,30) #调用求平均值的函数
print(f'平均值是{pingjun}')
运行结果
2. 用递归求累加和
代码截图
代码
"""
递归:3以内数字累加和
"""
def digui(n):
if n==1: #n等于1返回1
return 1
result=n+digui(n-1) #n不为1,使用递归实现累加和
return result
jieguo=digui(3) #调用函数,并输出
print(f'累加和是{jieguo}')
运行结果
3.猜字游戏
代码截图:
代码:
""""
思路:1.出拳:玩家:手动输入
电脑:固定,随机
2.判断输赢:①玩家赢 ②电脑赢 ③平局
"""
import random
#玩家出拳
player = int(input("请玩家出拳:0代表石头,1代表剪刀,2代表布"))
#电脑出拳(随机)
computer=random.randint(0,2)
print(computer)
#判断输赢
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or((player == 2) and (computer == 0)):
print('玩家获胜')
# 平局:玩家 == 电脑
elif player == computer:
print('平局')
else:
print('电脑获胜')
运行结果:
玩家输入石头(0)
电脑随机输出剪刀(1)
玩家获胜
4. 求1-100累加和
代码截图:
代码:
"""求1-100的累加和"""
"""
1.用一个变量计数 i
2.用一个变量存和 sum
3.循环
4.输出结果
"""
i=1
sum=0
while i<=100:
sum=sum+i #累加和
i=i+1 #数加加
print(sum)
运行结果:
5. 计算1-100的偶数累加和
代码截图1:
代码1:
"""
题:计算1-100的偶数累加和
分析:1.用一个变量计数 i
2.用一个变量存累加和
3.循环
4.偶数:能被2整除 i%2==0
5.输出结果
"""
i=1
sum=0
while i<=100: #1-100循环
if i%2==0: #判断i是否是偶数
sum=sum+i #i是偶数的话,求累加和
i=i+1 #i加加
print(f'1-100偶数的累加和是{sum}')
代码截图2
代码2
"""
题:计算1-100的偶数累加和
分析:1.用一个变量计数 i
2.用一个变量存累加和
3.循环
4.偶数:从0开始,每次加2
5.输出结果
"""
i=0
sum=0
while i<=100: #1-100循环
sum=sum+i
i=i+2
print(f'1-100偶数的累加和是{sum}')
运行结果:
6. 打印星号(正方形)
代码截图:
代码:
"""
题目:打印星号(正方形)
***
***
***
思路:1.循环:该正方形是一个三行三列的,用i变量控制行,用j变量控制列
2.输出
"""
i=1
while i<4: #控制行
j = 1
while j<4: #控制列
print("*",end="") #一行内的星星不能换行,取消print默认结束符\n
j=j+1
print() #每行结束要换行,这里借助一个空的print,利用print默认结束符换行
i=i+1
运行结果:
7. 打印星号(三角形)
代码截图:
代码:
"""
题目:打印星号(正方形)
*
**
***
思路:1.用i变量控制行,用j变量控制列
2.规律:星星的个数等于行数
3.输出
"""
i=1
while i<4: #控制行
j=1
while j<=i: #控制列
print("*",end="") #一行内的星星不能换行,取消print默认结束符\n
j=j+1
print() #每行结束要换行,这里借助一个空的print,利用print默认结束符换行
i=i+1
运行结果:
8.九九乘法表
代码截图
代码:
"""
题目:九九乘法表
分析:1.乘法表达式:i * j = i*j
2.用i变量控制行,用j变量控制列
3.规律:一行表达式的个数与行号相等
"""
i=1
while i<=9: #控制行
j=1
while j<=i: #控制列
print(f"{j}*{i}={i*j}\t",end="") #①乘法表达式的格式 ② \t:制表符,一个tab键(4个空格)的距离
#③一行内的表达式不能换行,取消print默认结束符\n
j=j+1
print() #每行结束要换行,这里借助一个空的print,利用print默认结束符换行
i=i+1
代码截图:
9.遍历列表的数据
代码截图:
代码:
"""
题目:遍历列表的数据
分析:1.用i变量作为下标。列表的下标从0开始。一共5个数据。
2.循环
"""
list=['python','java','c','html','css']
#while遍历
print("=====while遍历开始=====")
i=0
while i<len(list): #len()访问列表长度,即列表中数据的个数
print(list[i]) #输出列表中的数据
i=i+1
print("=====while遍历结束=====")
#for遍历
print("=====for遍历开始=====")
j=0
for j in list:
print(j)
print("=====for遍历结束=====")
运行结果:
10.办公室随机分配—有3个办公室,8位老师,将8位老师随机分配到3个办公室
代码截图
代码
"""
题目:办公室随机分配:有3个办公室,8位老师,将8位老师随机分配到3个办公室
分析:1.定义一个列表office,存放3个数据---列表嵌套
2.定义一个列表teachers,存放表格数据---列表
3.随机分配
4.输出:办公室+老师
"""
import random #导入随机包
teachers=['A','B','C','D','E','F','G','H']
office=[[],[],[]]
i=0
for i in teachers: #遍历老师列表
num=random.randint(0,2) #随机生成一个指定范围内的整数,并赋值给num
office[num].append(i) #append():列表结尾追加数据 将随机数num追加到office列表中
k=1 #k分别是办公室1,办公室2,办公室3
for j in office: #遍历办公室列表
print(f'办公室{k}的人数是{len(j)}人,',end="") #len()访问列表长度,即列表中数据的个数
print(f'老师分别是')
for i in j: #打印每个办公室老师的名字
print(i)
k=k+1
运行结果
11.打印多条横线
代码截图
代码
"""
题目:打印多条横线
---------(9个)
---------
---------
分析:1.首先打印1条横线
2.
"""
#1条横线的打印
def dayin():
print('-' * 9)
#dayin()
#多条线打印
def dayins(num):
i=0
while i<num:
dayin() #调用1条横线的打印
i=i+1
dayins(3)
运行结果
12.交换变量值
代码截图
代码
"""
题目:交换变量量值
"""
#方法一:利用第三个变量
a=10
b=20
print(f'a原来的值是{a}')
print(f'b原来的值是{b}')
c=0
c=a
a=b
b=c
print(f'a交换的值是{a}')
print(f'b交换的值是{b}')
#方法二:
aa,bb=10,20
print(f'aa原来的值是{aa}')
print(f'bb原来的值是{bb}')
aa,bb=bb,aa
print(f'aa交换的值是{aa}')
print(f'bb交换的值是{bb}')