zoukankan      html  css  js  c++  java
  • python

    # -*- coding:utf-8 -*-

    '''
    @project: jiaxy
    @author: Jimmy
    @file: work_20181119.py
    @ide: PyCharm Community Edition
    @time: 2018-11-19 13:53
    @blog: https://www.cnblogs.com/gotesting/

    '''

    '''
    1:创建一个名为 User 的类,
    其中包含属性 first_name 和 last_name,还有用户简介通常会存储的其他几个属性。
    在类 User 中定义一个名为 describe_user()的方法,它打印用户信息摘要;再定义一个名为 greet_user()的方法,它向用户发出个性化的问候。
    创建多个表示不同用户的实例,并对每个实例都调用上述两个方法。 
    '''
    class User:

    def __init__(self,first_name,last_name,age,hobby):
    self.first_name = first_name
    self.last_name = last_name
    self.age = age
    self.hobby = hobby

    def describe_user(self):
    print('姓名:{0}{1}'.format(self.last_name,self.first_name))
    print('年龄:{0}岁'.format(self.age))
    print('爱好:{0}'.format(self.hobby))

    def greet_user(self,greet):
    print('{0}{1},{2}'.format(self.last_name,self.first_name,greet))

    p1 = User('xy','Jia',18,'Play Games')
    p1.describe_user()
    p1.greet_user('你真的好帅!')

    p2 = User('hm','Zhao',18,'Sleep')
    p2.describe_user()
    p2.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):
    get_name = self.name
    return get_name

    def get_age(self):
    get_age = self.age
    return get_age

    def get_score(self):
    max_score = max(self.score)
    return max_score

    zm = Student('zhangming',20,[69,88,100])
    name = zm.get_name()
    age = zm.get_age()
    score = zm.get_score()
    print('''
    zm同学的信息如下:
    姓名:{0}
    年龄:{1}
    最高分数:{2}
    '''.format(name,age,score))

    '''
    3.人和机器猜拳游戏写成一个类,有如下几个函数:
    1)函数1:选择角色1 曹操 2张飞 3 刘备
    2)函数2:角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字
    3)函数3:电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果
    4)函数4:角色和机器出拳对战,对战结束后,最后出示本局对战结果...赢...输,然后提示用户是否继续?按y继续,按n退出。
    5)最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
    '''
    import random
    class MoraGame:

    # 用户选择角色
    def user_role(self):
    role_dict = {"1":'曹操','2':'张飞','3':'刘备'}
    while True:
    role_id = input('''
    请选择角色:
    1 : 曹操
    2 : 张飞
    3 : 刘备
    输入序号即可: '''
    )
    if role_id in role_dict.keys():
    break
    role_name = role_dict[role_id]
    return role_name

    # 用户猜拳
    def user_mora(self):
    mora_dict = {'1':'剪刀','2':'石头','3':'布'}
    while True:
    mora_user_id = input('''
    请猜拳:
    1 : 剪刀
    2 : 石头
    3 : 布
    输入序号即可: '''
    )
    if mora_user_id in mora_dict.keys():
    break
    mora_user = mora_dict[mora_user_id]
    return mora_user

    # 电脑随机猜拳
    def computer_mora(self):
    mora_dict = {'1':'剪刀','2':'石头','3':'布'}
    mora_computer_id = random.randint(1,3)
    mora_computer_id = random.randint(1,3)
    mora_computer = mora_dict[str(mora_computer_id)]
    return mora_computer

    # 双方对战及猜拳结果统计
    def battle(self):

    count = 0
    count_win = 0
    count_lose = 0
    count_dogfall = 0
    continue_list = ['y','n']
    role = self.user_role()

    # 猜拳判断及计数
    while True:
    count += 1
    mora_user = self.user_mora()
    mora_computer = self.computer_mora()

    # 双方战平
    if mora_user == mora_computer:
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'双方战平!'))
    count_dogfall += 1
    # 先根据角色输入,再根据电脑输入,判断输赢
    else:
    if mora_user == '剪刀':
    if mora_computer == '石头':
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您输了!'))
    count_lose += 1
    else:
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您赢了!'))
    count_win += 1
    elif mora_user == '石头':
    if mora_computer == '剪刀':
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您赢了!'))
    count_win += 1
    else:
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您输了!'))
    count_lose += 1
    elif mora_user == '布':
    if mora_computer == '剪刀':
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您输了!'))
    count_lose += 1
    else:
    print('''
    您猜拳:{0}
    电脑猜拳:{1}
    对战结果:{2}
    '''.format(mora_user,mora_computer,'您赢了!'))
    count_win += 1

    # 判断输入是否为y,n,若不是,提示重新输入
    while True:
    continue_or_not = input('是否继续?输入y继续,输入n退出: ')
    if continue_or_not in continue_list:
    break

    # 若输入为n,退出循环
    if continue_or_not == 'n':
    break
    print('{0}您好,您一共猜拳{1}次,赢{2}次,输{3}次,打平{4}次'.format(role,count,count_win,count_lose,count_dogfall))

    m1 = MoraGame()
    m1.battle()


    '''
    4:按照以下要求定义一个游乐园门票类,并创建实例调用函数,完成儿童和大人的总票价统计(人数不定,由你输入的人数个数来决定)

    1)平日票价100元 

    2)周末票价为平日票价120% 

    3)儿童半价
    '''
    import datetime
    class AmusementParkTicket:

    ticket_workday_adults = 100
    ticket_workday_childs = 50

    def workday(self):
    # 获取当前工作日:周一到周天分别为0-6
    today = datetime.datetime.now().weekday()
    # 工作日票价
    if 4 >= today >= 0:
    ticket_adults = self.ticket_workday_adults
    ticket_childs = self.ticket_workday_childs
    # 周末票件
    else:
    ticket_adults = self.ticket_workday_adults * 1.2
    ticket_childs = self.ticket_workday_childs * 1.2
    return ticket_adults,ticket_childs

    def get_tickets_count(self,adultsNum,childsNum):
    tickets_adults_today,tickets_child_today = self.workday()
    # 分别计算大人总票价、儿童总票价、总票价
    tickets_adults_count = tickets_adults_today * adultsNum
    tickets_childs_count = tickets_child_today * childsNum
    tickets_count = tickets_adults_count + tickets_childs_count
    print('{0}个儿童和{1}个大人的总票价为:{2}元。'.format(childsNum,adultsNum,tickets_count))

    a1 = AmusementParkTicket()
    a1.get_tickets_count(2,4)
    a1.get_tickets_count(10,20)
  • 相关阅读:
    C# 利用VS自带的WSDL工具生成WebService服务类
    七大管理工具
    在线教育系统
    Redis学习一
    酒店管理系统
    大数据学习一
    nginx负载均衡/反向代理学习一
    微服务学习十
    分布式学习一
    Abstract和Virtual和interface , 派生类中重写 override / new关键字
  • 原文地址:https://www.cnblogs.com/gotesting/p/9984172.html
Copyright © 2011-2022 走看看