栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

1,三角形

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1,三角形

1,三角形
"""
example03 - 三角形

类方法 - 发给类的消息(比静态方法多一个参数,代表接收消息的类) ---> @classmethod
静态方法 - 不是三角形对象的消息,而是发给三角形类的消息 ---> @staticmethod
Triangle.check_sides(a, b, c)


"""
import math


class Triangle:

    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

    @classmethod
    def is_valid_sides(cls, a, b, c):
        return a + b > c and b + c > a and a + c > b

    @staticmethod
    def check_sides(a, b, c):
        return a + b > c and b + c > a and a + c > b

    def perimeter(self):
        return self.a + self.b + self.c

    def area(self):
        p = self.perimeter() / 2
        a, b, c = self.a, self.b, self.c
        return math.sqrt(p * (p - a) * (p - b) * (p - c))


def main():
    a, b, c = map(float, input('请输入三条边的长度: ').split())
    if Triangle.check_sides(a, b, c):
        tri = Triangle(a, b, c)
        print(f'三角形的周长: {tri.perimeter()}')
        print(f'三角形的面积: {tri.area()}')
    else:
        print('不能构成三角形!')


if __name__ == '__main__':
    main()
2.用python写一个纸牌游戏
"""
2021/10/13 14:27
"""

import random
# 符号常量优于字面常量!!!!!
SPADE, HEART, CLUB, DIAMOND = range(4)


class Card:

    def __init__(self, suite, face):
        self.suite = suite
        self.face = face

    def __repr__(self):
        return self.show()

    def __lt__(self, other):
        if self.suite != other.suite:
            return self.suite < other.suite
        face1 = 14 if self.face == 1 else self.face
        face2 = 14 if other.face == 1 else other.face
        return face1 < face2

    def show(self):
        suites = ('♥', '♠', '♣', '♦')
        faces = ('', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K')
        return f'{suites[self.suite]}{faces[self.face]}'


class Poker:
    def __init__(self):
        self.cards = [Card(suite, face)
                      for suite in range(4)
                      for face in range(1, 14)]
        self.index = 0

    def shuffle(self):
        self.index = 0
        random.shuffle(self.cards)

    def has_more(self):
        return self.index < len(self.cards)

    def deal(self):
        # return self.cards.pop()
        card = self.cards[self.index]
        self.index += 1
        return card


class Player:


    def __init__(self, nickname):
        self.nickname = nickname
        self.cards = []

    def get_card(self, card):
        self.cards.append(card)

    def arrange(self):
        self.cards.sort()


poker = Poker()
poker.shuffle()
names = ('妲己', '安其拉', '瑶妹', '貂蝉')
players = [Player(name) for name in names]

for _ in range(13):
    for player in players:
        card = poker.deal()
        player.get_card(card)

for player in players:
    player.arrange()
    print(player.nickname, end=': ')
    print(player.cards)
# print(poker.cards)

# card1 = Card(HEART, 13)
# card2 = Card(DIAMOND, 5)
# card3 = Card(SPADE, 1)
# card4 = Card(CLUB, 10)
# print(card1, card2, card3, card4)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号