python 麦语言,python数麦芒

大家好,小编来为大家解答以下问题,python 麦语言,python数麦芒,现在让我们一起来看看吧!

显示中国省份省会信息

class Province:
    country = "China"
    capital = "Beijing"
    __country_describe = "中华人民共和国,简称“中国”。\n" \
                         "以五星红旗为国旗、《义勇军进行曲》为国歌,国徽内容为国旗、天安门、齿轮和麦稻穗Python中的所有运算符号。\n" \
                         "56个民族共同组成的统一的多民族国家。"
    count = 0

    def __init__(self, pname, pcapital):
        self.pname = pname
        self.pcapital = pcapital
        Province.count += 1

    @classmethod
    def modify_des(cls, cd):
        cls.__country_describe += cd

    @classmethod
    def get_des(cls):
        return cls.__country_describe

    def print_province(self):
        print(self.pname, self.pcapital, sep='\t')

    @staticmethod
    def menu():
        print("*" * 70)
        print(f"国家:{Province.country}", f"首都:{Province.capital}", f"简介:{Province.get_des()}", sep='\n')
        print("*" * 70)

    def __del__(self):
        Province.count -= 1
        print(f"{self.pname}省份对象被撤销,省份对象剩{Province.count}")
pro_list = [Province("河北", "石家庄"), Province("山东", "济南"), Province("上海", "直辖市")]
Province.country = "中国"
Province.capital = "北京"
Province.modify_des("创立于1949年10月1日")
Province.menu()
for i in range(0, len(pro_list)):
    pro_list[i].print_province()

人员信息输出

实现内容介绍:

定义一个学校人员类SchoolPerson,其中,私有类属性:school_name学校名称(初值空字符串),school_address学校地址(初值空字符串),count人数(初值0)——(学校信息)
私有实例属性:name姓名、sex性别、age年龄,post职务——(人员信息)

方法:

init()方法,完成实例属性的初始化;
del()方法,完成输出“**人员信息被撤销,还剩*人…”这一句话;
修改人员信息modify_person()方法;
输出人员信息show_person()方法;
修改学校信息modify_school()方法;
输出学校信息show_school()方法;
输出表头的方法menu()。
定义好类以后,再定义3个人员进行测试。

class SchoolPerson:
    school_name=''
    school_address=''
    count=0
    def __init__(self,name,sex,age,post):
        self.name=name
        self.sex=sex
        self.age=age
        self.post = post
        SchoolPerson.count += 1

    def __del__(self):
        SchoolPerson.count -= 1
        print(f"{self.name}对象被撤销,人员对象剩{SchoolPerson.count}")

    @classmethod
    def modify_school(cls, cd):
        cls.school_address += cd

    @classmethod
    def show_school(cls):
        return cls.school_address

    def show_person(self):
        print(f"姓名:{self.name}",f"性别:{self.sex}",f"年龄:{self.age}",f"职务:{self.post}",sep='\t')

    @staticmethod
    def menu():
        print("*" * 70)
        print(f"学校名称:{SchoolPerson.school_name}", f"学校地址:{SchoolPerson.school_address}", sep='\n')
        print("*" * 70)

    def __del__(self):
        SchoolPerson.count -= 1
        print(f"{self.name}对象被撤销,人员对象剩{SchoolPerson.count}")

pro_list = [SchoolPerson("张三", "男","18","学生"), SchoolPerson("李四", "女","16","学生"), SchoolPerson("王五", "男","38","老师")]
SchoolPerson.school_name = "唐山学院"
SchoolPerson.school_address= "河北省唐山市路北区大学西道11号"
SchoolPerson.menu()
for i in range(0, len(pro_list)):
    pro_list[i].show_person()

猜拳游戏

方法一:

import random
# 定义一个人类
class person():
    def play(self):
        while True:  # 做一个死循环,直到选择正确为止
            finger = input("请输入要出拳的选项:\n1---石头   2---剪刀   3---布\n")
            if finger.isdigit():  # isdigit() 方法检测字符串是否只由数字组成
                finger = int(finger)  # 将input默认输入的为字符类型,将它转化为数字类型
                if finger == 1:  # 用if判断玩家的出拳
                    print("[玩家]选择出---石头")  # 输出玩家的出拳
                    break  # 选择正确时,结束死循环
                elif finger == 2:
                    print("[玩家]选择出---剪刀")
                    break
                elif finger == 3:
                    print("[玩家]选择出--- 布 ")
                    break
                else:
                    print("输入数字有误!请重新输入---")
            else:
                print("输入选项有误!请输入数字---")
        return finger  # 返回玩家的出拳


# 定义一个电脑类
class computer():
    def stochastic(self):
        random_number = random.randint(1, 3)  # 用random.randint(1,3)产生一个1到3的随机整数
        if random_number == 1:  # 用if判断电脑的出拳
            print("[电脑]选择出---石头")  # 输出电脑的出拳
        elif random_number == 2:
            print("[电脑]选择出---剪刀")
        else:
            print("[电脑]选择出--- 布 ")
        return random_number  # 返回电脑的出拳


# 定义一个过程类
class process():
    print("---------------人机大战---------------\n")
    case1 = 0  # case1表示玩家胜利的次数
    case2 = 0  # case2表示平局的次数
    case3 = 0  # case1表示电脑胜利的次数

    def _init_(self):
        person_object = person()  # person类 对象
        computer_object = computer()  # computer类 对象
        while True:  # 做一个死循环,一直进行游戏,直到玩家想要结束游戏

            person_result = person_object.play()  # 用person_result接受玩家的出拳
            computer_result = computer_object.stochastic()  # 用computer_result接受电脑的出拳

            # 1:石头,2:剪刀,3:布,比较结果,判断此次游戏谁赢
            if person_result == 1 and computer_result == 2 or \
                    person_result == 2 and computer_result == 3 or \
                    person_result == 3 and computer_result == 1:
                print("------------------------玩家赢!")
                self.case1 += 1  # 此时玩家胜利的次数case1+1
            elif person_result == computer_result:
                print("------------------------ 平局! ")
                self.case2 += 1  # 此时平局的次数case2+1
            else:
                print("------------------------电脑赢!")
                self.case3 += 1  # 此时电脑胜利的次数case3+1

            if input(
                    "是否继续游戏:yes or no ?\n按任意键继续,输入n或者N结束游戏\n").lower() == "n":  
                    # 接收输入,玩家是否想要继续游戏,将接收的输入转化为小写,和'n'进行比较,如果等于结束游戏,反之继续
                break

        if self.case1 > self.case3:  # 玩家选择结束游戏之后,对之前所有的战局进行统计对比,判断谁赢
            result = "玩家胜利!"
        elif self.case1 == self.case3:
            result = "平局"
        else:
            result = "电脑胜利"
        print("---------------人机大战---------------\n游戏结束:\n"
              "玩家共赢{0}次---电脑共赢{1}次---平局次数{2}次\n---总结果为:{3}" \
              .format(self.case1, self.case3, self.case2, result))  # 输出整个游戏的结束,其中\在Python语言中表示一行未结束,下一行紧跟上一行,相当于一行


# 主函数,开始游戏
game_object = process()._init_()

方法二:

import  random
class Player:
    def __init__(self):
        self.dict={0:'剪刀',1:'石头',2:'布'}
    def  gesture(self):#手势
        player_input=int(input("请输入(0:'剪刀',1:'石头',2:'布':)"))
        return self.dict[player_input]
class AIPlayer(Player):
    play_data=[]
    def ai_gesture(self):
        computer=random.randint(0,2)
        if len(self.play_data)>=4:#获取玩家出拳的最大概率
            max_prob=max(self.play_data,key=self.play_data.count)
            if max_prob =='剪刀':
                return '石头'
            elif max_prob=='石头':
                return  '布'
            else:
                return '剪刀'
        else:
            return self.dict[computer]
class Game:
    def game_judge(self):
        player=Player().gesture()
        AIPlayer().play_data.append(player)
        aiplayer=AIPlayer().ai_gesture()
        if(player=='剪刀'and aiplayer=='布')or \
                (player=='石头' and aiplayer=='剪刀')\
            or(player=='布' and aiplayer=='石头'):
            print(f"电脑出的手势是{aiplayer},恭喜,你赢了!")
        elif (player == '剪刀' and aiplayer == '剪刀') or \
                    (player == '石头' and aiplayer == '石头') \
                    or (player == '布' and aiplayer == '布'):
            print(f"电脑出的手势是{aiplayer},打成平局了!")
        else:
            print(f"电脑出的手势是{aiplayer},你输了,再接再厉!")
    def game_start(self):
        self.game_judge()
        while True:
            option=input("是否继续y/n\n")
            if option=='y':
                self.game_judge()
            else:
                break
g=Game()
g.game_start()

ps:说实话,这些代码是之前写的 现在早就考完python 所以如果有问题的话 自己纠错 不要问我 谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值