zoukankan      html  css  js  c++  java
  • python基础学习--类--附代码

    1:创建一个名为 User 的类:
    1)其中包含属性 first_name 和 last_name,还有用户简介通常会存储的其他几个属性,均是自定义, 请放在初始化函数里面。
    2)在类 User 中定义一个名为 describe_user()的方法,它打印用户信息摘要;
    3)再定义一个名为 greet_user()的方法,它向用户发出个性化的问候。:
    请创建多个表示不同用户的实例,并对每个实例都调用上述两个方法。
     
    class User:
    
        def __init__(self, first_name, last_name, sex, age):
            self.first_name = first_name
            self.last_name = last_name
            self.sex = sex
            self.age = age
    
        def describe_user(self):
            print("用户姓名:{} {} 性别为:{}  年龄为:{}".format(self.first_name.title(), self.last_name.title(), self.sex, self.age))
    
        def greet_user(self):
            print('欢迎{} {}用户'.format(self.first_name.title(), self.last_name.title()))
    
    
    user1 = User("cui", "dida", "", 12)
    user1.describe_user()
    user1.greet_user()
    user1 = User("ma", "dongmei", "", 40)
    user1.describe_user()
    user1.greet_user()
    user1 = User("dai", "weide", "", 29)
    user1.describe_user()
    user1.greet_user()
    2:定义一个学生类。
    1)有下面的类属性: 1 姓名 2 年龄 3 成绩(语文,数学,英语)[每课成绩的类型为整数] ,均放在初始化函数里面。
    2)类方法:
    a)获取学生的姓名:get_name() 返回类型:str b)获取学生的年龄:get_age() 返回类型:int
    c) 返回3门科目中最高的分数。get_course() 返回类型:int
    写好类以后,可以定义2个同学测试下: zm = Student('zhangming',20,[69,88,100]) 返回结果: zhangming 20 100
     
    class Student:
        def __init__(self, name, age, score):
            self.name = name
            self.age = age
            self.score = score
    
        def get_name(self):
            return self.name.title()
    
        def get_age(self):
            return self.age
    
        def get_course(self):
            return max(self.score)
    
    
    student1 = Student("wangming", 15, [98, 89, 34])
    name1 = student1.get_name()
    age1 = student1.get_age()
    course1 = student1.get_course()
    print("{} {} {}".format(name1, age1, course1))
    student2 = Student("lijia", 9, [70, 65, 91])
    name2 = student2.get_name()
    age2 = student2.get_age()
    course2 = student2.get_course()
    print("{} {} {}".format(name2, age2, course2))
    3。人和机器猜拳游戏写成一个类,有如下几个函数:
    1)函数1:选择角色1 曹操 2张飞 3 刘备
    2)函数2:角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字
    3)函数3:电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果
    4)函数4:角色和机器出拳对战,对战结束后,最后出示本局对战结果...赢...输,然后提示用户是否继续?按y继续,按n退出。
    5)最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
     
    a=0
    b=0
    c=0
    class Guess_num:
    
        def select_role(self):
            global role
            temp = int(input("请选择一个角色,1:曹操  2:张飞  3:刘备"))
            if temp == 1:
                role = "曹操"
            elif temp == 2:
                role = "张飞"
            else:
                role = "刘备"
    
        def role_guess(self):
            global guess1
            guess1 = int(input("请选择1:剪刀 2:石头  3:布"))
            if guess1 == 1:
                print("{}出拳:剪刀".format(role))
            elif guess1 == 2:
                print("{}出拳:石头".format(role))
            elif guess1 == 3:
                print("{}出拳:布".format(role))
    
        def computer_guess(self):
            global guess2
            guess2 = random.randint(1, 3)
            if guess2 == 1:
                print("电脑出拳:剪刀")
            elif guess2 == 2:
                print("电脑出拳:石头")
            else:
                print("电脑出拳:布")
    
        def compare_guess(self):
            global a
            global b
            global c
    
            while True:
                self.select_role()
                self.role_guess()
                self.computer_guess()
                if guess1 == guess2:
                    print("平局!")
                    a+=1
                    judge = input("按y继续,按n退出")
                    if judge == "n":
                        break
                elif guess1 == 1:
                    if guess2 == 2:
                        print("电脑赢,{}输!".format(role))
                        b+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
                    else:
                        print("{}赢,电脑输!".format(role))
                        c+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
                elif guess1 == 2:
                    if guess2 == 1:
                        print("{}赢,电脑输!".format(role))
                        c+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
                    else:
                        print("电脑赢,{}输!".format(role))
                        b+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
                elif guess1 == 3:
                    if guess2 == 1:
                        print("电脑赢,{}输!".format(role))
                        b+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
                    else:
                        print("{}赢,电脑输!".format(role))
                        c+=1
                        judge = input("按y继续,按n退出")
                        if judge == "n":
                            break
    
    
    zz = Guess_num()
    zz.compare_guess()
    print("角色赢{},电脑赢{},平局{}".format(c,b,a))
  • 相关阅读:
    Algorithm Gossip (48) 上三角、下三角、对称矩阵
    .Algorithm Gossip (47) 多维矩阵转一维矩阵
    Algorithm Gossip (46) 稀疏矩阵存储
    Algorithm Gossip (45) 费氏搜寻法
    Algorithm Gossip (44) 插补搜寻法
    Algorithm Gossip (43) 二分搜寻法
    Algorithm Gossip (42) 循序搜寻法(使用卫兵)
    Algorithm Gossip (41) 基数排序法
    Algorithm Gossip (40) 合并排序法
    AlgorithmGossip (39) 快速排序法 ( 三 )
  • 原文地址:https://www.cnblogs.com/Elaine1/p/10434550.html
Copyright © 2011-2022 走看看