python习题

一、使用for循环和while循环,打印九九乘法表,显示效果如下图:


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循环

for a in range(1,10):
    for b in range(1,a+1):
        print("%d*%d=%d" % (a, b, a*b),end="\t")
    print()

#while循环
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("%d*%d=%-2d"%(i,j,i*j),end = ' ')  # %d: 整数的占位符,'-2'代表靠左对齐,两个占位符
        j += 1
    print()
    i += 1


二、石头剪刀布游戏(if else 综合练习)

综合使用if语句的相关知识,实现石头剪子布游戏效果。显示下面提示信息:请输入:剪刀(0)、石头(1)、布(2):
用户输入数字0-2中的一个数字,与系统随机生成的数字比较后给出结果信息。例如:输入0后,显示如下
你的输入为:剪刀(O)随机生成数字为:1哈哈,你输了:D

a = int(input("请输入:剪刀(0)、石头(1)、布(2):"))
if a==0:
    b="剪刀(0)"
if a==1:
    b="石头(1)"
if a==2:
    b="布(2)"
print("你输入的数为:",b)
import  random                 #导入随机库
c= random.randint(0,2)
print("随机产生的数为:",end="")
print(c,end="")
if c==0:
    d=("剪刀")
if c==1:
      d=("石头")
if c==2 :
    d=("布")
print(d)

print("所以说")
print(b,end="")
print("打",end="")
print(d)
#剪刀(0)、石头(1)、布(2):
if a==0 and c==0:
    print("恭喜你 平局!")
elif a==0 and c==1:
    print("你输了")
elif a==0 and c==2:
    print("你赢了")
#剪刀(0)、石头(1)、布(2):
if a==1 and c==1:
    print("恭喜你 平局!")
elif a==1 and c==0:
    print("你赢了")
elif a==1 and c==2:
    print("你输了")
    #剪刀(0)、石头(1)、布(2):
if a==2 and c==2:
    print("恭喜你 平局!")
elif a==2 and c==0:
    print("你输了")
elif a==2 and c==1:
    print("你赢了")


三、二维数组的应用

A B C D E F G H 八个老师

office 三个办公室

随机 随机 随机~  分配

可以有一个办公室没人 因为数字原因

names= ["A","B","C","D","E","F","G","H"]       #八个老师

offices = [ [ ]  , [ ] , [ ]  ]                                     #三个没人的空教室

import random                                                 #导入随机库

for name in names:

        index = random.randint(0,2)                #利用随机数 确定插入的位置(下标)

        offices [ index ] . append(name)           #利用append函数将name中的元素插入到我们随机产生的下标中

i=1 

for a in offices:

         print("第%d个办公室的人数为:%d"%(a,len(i)),end="")           #office为当前元素 默认第一个 依次类推   len(office)提取长度即人数

         print("分别为:")

         a+=1

         for name in i:

                 print(name,end="\t")

         print()


四、文件的操作

# 作业:
# 1.应用文件操作的相关知识,通过Python新建一个文件gushi.txt,选择一首古诗写入文件中
# 2.另外写一个函数,读取指定文件gushi.txt,将内容复制到copy.txt中,并在控制台输出"复制完毕"。
# 3.提示:分别定义两个函数,完成读文件和写文件的操作
# 尽可能完善代码,添加异常处理。
def read():
        try:

            s= ""
            i=0
            a= input("请输入您要读的文件名:")
            b= open(a,"r")
            s=b.readlines()
            print("读取的文件元素为:",s)
            return  s
        except Exception:
            print("读取有误")


#通过读取 复制其中的内容 给新的文件
def write():
    try:
        d=read()
        a=input("请输入您要写的文件名:")
        c=open(a,"r")           #为了显示异常 所以我此处用了r的方式打开  即原本有文件不会出现异常 没有就报错
        c.write(str(d))
        print("复制成功")
    except Exception:
        print("复制不成功")
write()


五、二维列表

#二位列表
# 1.查看所有
# 2.新增*---
# 3.修改---
# 4.查看部分---
# 5.查看姓名----

Bjlist = []
bjlist = []
while 1:
    print("  1.查 看 所 有")
    print("  2.新 增")
    print("  3.修 改")
    print("  4.查 看 部 分")
    print("  5.查 看 姓 名")
    select = int(input("请输入你的操作"))
    if select == 1:  #查看所有
        for i in Bjlist:
            print("姓名:%s,年龄:%d"%(i[0],i[1]))
    elif select == 2:      #新增
        Newname = input("请输入您要新增的姓名:")
        Newage  = int(input("请输入您要新增的年龄:"))
        bjlist =[Newname,Newage]
        Bjlist.append(bjlist)
    elif select == 3:       #修改   前提是没有相同姓名
        name=input("输出你要修改的姓名:")
        for name1 in Bjlist:
            if name ==name1[0]:
                newname=input("请修改:")
                name1[0] = newname
                print("修改成功")
                break
            else:
                print("没有找到!")
    elif select == 4:   #查看部分()
        print("1:前三名")
        print("2:后三名")
        print("3:从n下标到n下标:")
        four1 = int(input("请选择您的操作:"))
        if four1 == 1:
            print(Bjlist[:3])
        elif four1 == 2:
            print(Bjlist[-3:])
        elif four1 ==3:
            a =int(input("请输入开始的下标:"))
            b =int(input("请输入结束的下标:"))
            print(Bjlist[a:b+1])
    elif select == 5:   #查看姓名
        print("姓名为:",end="")
        for name in Bjlist:
                print(name[0])

六、 列表和字典的混合应用

# 设计一个班级学生管理系统
# (1)使用字典保存每一个同学的信息
# (⑵)使用列表保存班级所有同学的信息
# (3)能够查看班级所有同学的信息
# (4)根据学号查找某个同学的信息
# (5)新增同学到班级中去
# (6)从班级中删除某个同学
# (7)删除班级某一列的信息

stu1={"name":"蒋一","xh":1,"a":""}                 #al列为测试删除列   
stu2={"name":"李二","xh":2,"a":""}
list=[stu1,stu2]
print(list)
while 1:
    print("1.查看所有信息")
    print("4.根据学号查找某个同学的信息")
    print("5.新增同学到班级中去")
    print("6.从班级中删除某个同学")
    print("7.删除班级某一列的信息")
    #(4)根据学号查找某个同学的信息
    select =int(input("请选择你的操作:"))
    if select == 1:
        print(list)
    elif select ==4:
        xuehao = int(input("请输入您要查找的学号"))
        for a in list:
         if a["xh"]== xuehao:
             print("姓名:",a["name"]+",",end="",)
             print("学号:",a["xh"])
    # (5)新增同学到班级中去
    elif select ==5:
        stu3={"name":"","xh":""}
        newname =input("请输入你要添加的姓名:")
        newxh   =int(input("请输入您要添加的学号:"))
        stu3["name"]=newname
        stu3["xh"]=newxh
        list.append(stu3)
        print("添加成功")
    #(6)从班级中删除某个同学
    elif select==6:
        index= 0
        name = input("请输入你要删除的姓名:")
        for oldname in list:
         if oldname["name"]==name:
             del list[index]
             index+=1
        print("删除成功")
    # (7)删除班级某一列的信息
    elif select==7:
        name1 = input("请输入您要删除的列名:")
        for name2 in list:
            name2.pop(name1)
        print(list)
        break
    else:
        print("您的输入有误,请重新输入:")


七、学生管理系统3.0

# 学生管理系统3.0

# 1.以列表的形式存储三位同学的信息,并打印
# 2.对同学“tom”进行增删改查操作
# 3.将所有同学信息存储与列表中,并打印所有学生信息
# 4.新增一个同学到学生列表中
# 5.修改学生列表中的数据
#6.从学生列表中删除某个同学信息
# 7.根据条件查找所有符合条件的同学信息
# 8.改用字典保存一个同学的信息,将所有同学的信息保存于列表中,并打印

# 1.以列表的形式存储三位同学的信息,并打印
list1=[1,"jh"]
list2=[2,"tom"]
list3=[3,"kang"]
list=[list1,list2,list3]
print("数据源为:",end="")
print("")
for i in list:
    print(i,end="\n")
# 2.对同学“tom”进行增删改查操作
#增
print("")
print("")
print("进行增加的操作:",end="")
index=0
for i in list:
    if i[1]=="tom":
        zeng=input("请输入tom要增加的信息:")
        list[index].append(zeng)
        print("增加成功!")
    index+=1
print("增加后的列表为:",list)
#     #删
print("")
print("")
print("进行删除的操作:",end="")
select = 0
for i in list:
    for name in i:
        if name=="tom":
            print("信息如下:",i)
            delect = input("请输入你要tom删除的信息:")
            if type(delect) == int:
                delectint= int(delect)
                i.remove(delectint)
            else:
                i.remove(delect)
print("删除后的列表为:",list)
# #改
print("")
print("")
print("进行修改的操作:",end="")
select = 0
for xinxi in list:
    select = int(input("请选择要修改的信息:(1.学号  2.姓名):"))
    if select ==1:
        nameint =int(input("先查找学号"))
        for xh in  xinxi:
            if xh == nameint:
                xuehao = int(input("找到了!修改为::"))
                xinxi[0]=xuehao
                print("修改成功!")

        print("修改后的列表为:",list)
        break
    elif select==2:
                newname =input("先查找姓名:")
                for xh in  xinxi:
                    if xh == newname:
                        newname2 = input("找到了!修改为")
                        xinxi[1]=newname2
                        print("修改成功!")
                print("修改后的列表为:",list)
                break

#查
print("")
print("")
print("进行查询的操作:",end="")
select = 0
for xinxi in list:
    select =  int(input("请输入查找的信息(1.学号 2.姓名):"))
    if select ==1:
        xuehao1=  int(input("请先输入要查找的学号:"))
        for xuehao2 in xinxi:
         if xuehao1 == xuehao2:
             print("信息为:",xinxi)
        break
    elif select==2:
          name = input("请先输入要查找的姓名:")
          for oldname in xinxi:
            if name == oldname:
                print("信息为:",xinxi)
          break
print("-"*20)
print("整个系统 完美结束!")


八、

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·惊鸿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值