一小时学会Python基础练习的十四个练手题

1到100的加法

i = 1 
result = 0
while i <= 100:
    result += i
    i += 1
print(result)

搬家具

class Furniture():
    
    def __init__(self,name,area):
        self.name = name
        self.area = area

class Home():

    def __init__(self,address,area):

        self.address = address

        self.area = area
        
        self.free_area = area
        
        self.furniture = []

    def __str__(self):
        
        return f"房子地理位置{self.address},房屋面积是{self.area},剩余面积{self.free_area},家具有{self.furniture}"

    def add_furniture(self,item):

        if self.free_area >= item.area:

            self.furniture.append(item.name)

            self.free_area -= item.area

        else:
            print('无法容纳更多的家具')


F1 = Furniture('沙发',10)
F2 = Furniture('双人床',30)

addHome = Home('上海',2000)

addHome.add_furniture(F1)

print(addHome)
addHome.add_furniture(F2)

print(addHome)

办公室人员分配

offices = [[],[],[]]
teachers =["李老师","王老师","牛老师","黄老师","庄老师","陈老师","毕老师","何老师"]

import random

for name in teachers: # 先挑选老师
    num = random.randint(0,2)
    offices[num].append(name) # 随机选取教室,将老师安排进去

i = 1 
for office in offices:
    print(f'第{i}办公室,人数为{len(office)}') # 读出进入到教室的老师
    for name in office:
        print(f'{name} ',end='')
    print()
    print()
    i += 1


猜拳游戏

import random

while True:
    player = int(float(input("请输入数字-1.剪刀、2.石头、3.布:")))
    computer = random.randint(1,3)

    if (player == 1) and (computer == 2) or (player == 2) and (computer == 1) or (player == 3) and (computer == 1):
        print("玩家获胜")
    elif player == computer:
        print("平局")
    else:
        print("电脑获胜")


乘公交车

money = 1 # 用1和0表示有或没有
seat = 1

if money == 1:
    print('请上车')
    if seat == 1:
        print('请坐下')
    else:
        print('无座')
else:
    print('请步行')

吃苹果

i = 0
while i < 5:
    if i == 3:
        print('我已经吃饱了')
        break # 条件生效后,直接中断这次的循 (中断)
    i += 1
print(f'吃完{i}个苹果,饱了')



j = 1
while j < 5:
    if j == 3:
        print(f'第{j}个有虫子')
        j += 1
        continue # 迭代 跳出这个循环
    print(f'一共吃了{j}个苹果')
    j += 1
print('吃完这些苹果')

九九乘法表

i = 1
while i<=9:
    j = 1
    while j <= i:
        print(f"  {i}*{j}={i*j}",end="")
        j += 1
    print()
    i += 1

烤地瓜

class SweetPotato():

    def __init__(self):

        self.cook_time = 0
        self.cook_state = '生的'
        self.condiments = []

    def cook(self,time):
        
        self.cook_time += time

        if 0<= self.cook_time <3:
            self.cook_state = '生的'

        elif 3<= self.cook_time <6:
            self.cook_state = '半生'

        elif 6<= self.cook_time <8:
            self.cook_state = '全熟'

        elif 8<= self.cook_time :
            self.cook_state = '烤糊'

    def add_condiments(self,condiment):

        self.condiments.append(condiment)

    def __str__(self):
        return f"这个地瓜烤了{self.cook_time}分钟,状态是{self.cook_state},调料{self.condiments}"


if __name__ == "__main__":

    CookingDiGua = SweetPotato()
    print(CookingDiGua)


    CookingDiGua.cook(1)
    CookingDiGua.add_condiments("盐巴")
    print(CookingDiGua)


    CookingDiGua.cook(2)
    CookingDiGua.add_condiments("酱油")
    print(CookingDiGua)


    CookingDiGua.cook(3)
    print(CookingDiGua)

奇偶100内相加

i = 1
result = 0
while i <= 100:
    if i % 2 == 0:
        result += i
    i += 1
print(result)

j = 0 
result = 0
while j <= 100:
    result += j
    j += 2
print(result)


三角形

j = 0
while j < 5:
    i = 0
    while i < j:
        print('*',end="")
        i += 1
    print()
    j += 1

正方形

j = 0
while j <4:
    i = 0
    while i <7:
        print('*',end="")
        i += 1
    print()
    j += 1

文件备份

old_file = input('请输入您需要的备份文件名:')

index = old_file.rfind('.')

new_file = old_file[:index] + '[备份]' + old_file[index:]

print(new_file)

old_f = open(old_file,'rb')
new_f = open(new_file,'wb')

while True:
    con = old_f.read(1024)
    if len(con) == 0:
        break
    new_f.write(con)

old_f.close()
new_f.close()   

学员管理系统(函数版)

info = []

def print_info():
    print('-' * 20)
    print('1.添加学员')
    print('2.删除学员')
    print('3.修改学员')
    print('4.查询学员')
    print('5.所有学员')
    print('6.退出系统')
    print('-' * 20)



def add_info():
    new_id = input("请输入ID:")
    new_name = input("请输入姓名:")
    new_tel = input("请输入Tel:")

    global info
    for i in info:
        if new_id == i['name']:
            print("用户存在")
            return
        info_dict = {}
        info_dict["id"] = new_id
        info_dict["name"] = new_name
        info_dict["tel"] = new_tel

        info.append(info_dict)
        print(info)


def del_info():

    del_name = input('输入删除姓名:')

    global info
    for i in info:
        if del_name == i['name']:
            info.remove(i)
            print('删除成功')
            break
    else:
        print('不存在该学员')

    print(info)


def modify_info():

    modify_name = input('输入修改姓名:')

    for i in info:
        if modify_info == i['name']:
            i['tel'] = input('输入修改的TEL:') 
            break
    else:
        print("学员不存在")


def search_info():

    search_name = input('输入姓名:')    
    for i in info:      
        if search_name == i["name"]:
            print('---查找到一下学员信息-----')
            print(f'学员姓名/t{i["name"]}/t电话{i["tel"]}/t学员号{i["id"]}')
            break
    else:
        print('学员不存在')
    print(info)

def all_info():
    print("学号/t姓名/t手机号")
    global info
    for i in info:
        print(f'{i["id"]}/t{i["name"]}/t{i["tel"]}')



while True:
    print_info()

    User_num = int(float(input("请输入需要执行的功能:")))

    if User_num == 1:
        add_info()
    elif User_num == 2:
        del_info()
    elif User_num  == 3:
        modify_info()
    elif User_num  == 4:
        search_info()
    elif User_num  == 5:
        all_info()
    elif User_num  == 6:
        exit_flag = input('退出系统 yes or no:')
        if exit_flag == "yes":
            break
    else:
        print('操作粗错误')


学员管理系统(面向对象版)

main

from mangerSystem import*

if __name__ == '__main__':

    student_manager = StudentManager()

    student_manager.run()

mangerSystem

from student import*

class StudentManager(object):
    def __init__(self):
        self.student_list = []

    def run(self):
        while True:
            self.show_menu()

            menu_num = int(float(input("请输入功能序列号:")))

            if   menu_num == 1:
            
                self.add_student()
            elif menu_num ==2: 
                self.del_student()

            elif menu_num ==3: 
                self.modify_student()

            elif menu_num ==4: 
                self.search_student()

            elif menu_num ==5: 
                self.show_student()

            elif menu_num ==6: 
                self.save_student()

            elif menu_num ==7: 
                break

            else:
                print("您输入错误")

    @staticmethod
    def show_menu():
        print("————请输入以下序列功能—————")

        print('——1.添加')            
        print('——2.删除')            
        print('——3.修改')            
        print('——4.查询')            
        print('——5.所有')            
        print('——6.保存')            
        print('——7.退出')

        print("—————————————————————————")
    
    
    
    def add_info(self):
        new_name = input('请输入姓名:')
        new_id = input('请输入ID:')
        new_tel = input('请输入电话:')

        for i in self.student_list:
            if (i.name == new_name) and (i.id == new_id) and (i.tel == new_tel):
                print("学员存在")
                return

        student = Student(name,id,tel)
        self.student_list.append(student)

        print(self.student_list)
        print(student)

    def del_student(self):

        del_name = input("请输入删除的姓名:")

        for i in self.student_list:
            if i.name == del_name:
                self.student_list.remove(i)
                break
        else:
            print('查无此人!')

        print(self.student_list)

    def modify_student(self):

        modify_name = input('请输入修改的姓名:')

        for i in self.student_list:
            if i.name == modify_name:
                i.name = input("输入新名字")
                i.gender = input('输入性别')
                i.tel = input('输入新手机号')
                print(f'修改学员信息成功,姓名{i.name},性别{i.gender},手机号{i.tel}')
                break
            else:
                print('查无此人')

    def search_student(self):

        search_name = input("请输入查询的姓名")

        for i in self.student_list:
            if i.name == search_name:
                print(f'学员名字:{i.name},性别:{i.gender},手机号:{i.tel}')
            else:
                print('查无此人')

    def show_student(self):

        print('姓名\t性别\t手机号')

        for i in self.student_list:
            print(f'{i.name}\t{i.gender}\t{i.tel}')

    def save_student(self):
        f = open('student.data','w')

        new_list = [i.__dict__ for i in self.student_list]
        
        print(new_list)

        f.write(str(new_list))

        f.close()
    
    def load_info(self):

        try:
            f = open('student.data','r')

        except:
            f = open('student.data','w')

        else:

            data = f.read()

            new_list = eval(data)

            self.student_list = [student(i['name'],i['id'],i['tel']) for i in new_list]

        finally:

            f.close()



student

class Student(object):
    def __init__(self,name,gender,tel):
        self.name = name
        self.gender = gender
        self.tel = tel

    def __ste__(self):
        return f'{self.name},{self.gender},{self.tel}'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不世人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值