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}')

运行结果

在这里插入图片描述