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))
原文地址:https://www.cnblogs.com/Elaine1/p/10434550.html