Compare commits
No commits in common. "b3c3a891180ef1ecabf0b4e01fb53bda367b0030" and "ec5afd4d2ef20904dbe0fe409cb60ed30a300e47" have entirely different histories.
b3c3a89118
...
ec5afd4d2e
@ -1,41 +0,0 @@
|
|||||||
class Hund:
|
|
||||||
anzahl_hunde = 0
|
|
||||||
|
|
||||||
def __init__(self, name: str, rasse: str, alter: int, gewicht: float):
|
|
||||||
self.name = name
|
|
||||||
self.rasse = rasse
|
|
||||||
self.alter = alter
|
|
||||||
self.gewicht = gewicht
|
|
||||||
Hund.anzahl_hunde += 1
|
|
||||||
|
|
||||||
def __repr__(self):
|
|
||||||
return (
|
|
||||||
f"Hund(name='{self.name}', rasse='{self.rasse}',"
|
|
||||||
f"alter={self.alter}, gewicht={self.gewicht}kg"
|
|
||||||
)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return f"{self.name} ist ein {self.alter}-jähriger {self.rasse}"
|
|
||||||
|
|
||||||
def bellen(self, anzahl=1):
|
|
||||||
print("Wuff!" * anzahl)
|
|
||||||
return
|
|
||||||
|
|
||||||
def geburtstag(self):
|
|
||||||
self.alter += 1
|
|
||||||
print(
|
|
||||||
f"Alles Gute zum Geburtstag, {self.name}! Du bist jetzt {self.alter} Jahre alt."
|
|
||||||
)
|
|
||||||
return
|
|
||||||
|
|
||||||
def ist_welpe(self):
|
|
||||||
return self.alter < 2
|
|
||||||
|
|
||||||
|
|
||||||
hund1 = Hund("Bello", "Labrador", 3, 28.5)
|
|
||||||
hund2 = Hund("BBarky", "Puddel", 4, 28.5)
|
|
||||||
|
|
||||||
print(repr(hund1))
|
|
||||||
print(hund1)
|
|
||||||
print(hund1.__dict__)
|
|
||||||
print(hund1.ist_welpe())
|
|
||||||
@ -1,167 +0,0 @@
|
|||||||
"""
|
|
||||||
Codewars Kata:
|
|
||||||
https://www.codewars.com/kata/54fe05c4762e2e3047000add
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class Ship:
|
|
||||||
def __init__(self, draft, crew):
|
|
||||||
self.draft = draft
|
|
||||||
self.crew = crew
|
|
||||||
|
|
||||||
def is_worth_it(self):
|
|
||||||
crew_weight = self.crew * 1.5
|
|
||||||
return self.draft - crew_weight > 20
|
|
||||||
|
|
||||||
|
|
||||||
Titanic = Ship(15, 10)
|
|
||||||
|
|
||||||
print(Titanic.is_worth_it())
|
|
||||||
|
|
||||||
"""
|
|
||||||
Codewars Kata:
|
|
||||||
https://www.codewars.com/kata/528d36d7cc451cd7e4000339
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class Student:
|
|
||||||
all_students = []
|
|
||||||
|
|
||||||
def __init__(self, name, fives, tens, twenties):
|
|
||||||
self.name = name
|
|
||||||
self.fives = fives
|
|
||||||
self.tens = tens
|
|
||||||
self.twenties = twenties
|
|
||||||
Student.all_students.append(self)
|
|
||||||
|
|
||||||
def total_amount(self):
|
|
||||||
return self.fives * 5 + self.tens * 10 + self.twenties * 20
|
|
||||||
|
|
||||||
|
|
||||||
richest_student = None
|
|
||||||
multiple = False
|
|
||||||
|
|
||||||
for s in Student.all_students:
|
|
||||||
if richest_student is None:
|
|
||||||
richest_student = s
|
|
||||||
elif s.total_amount() > richest_student.total_amount():
|
|
||||||
richest_student = s
|
|
||||||
multiple = False
|
|
||||||
elif s.total_amount() == richest_student.total_amount():
|
|
||||||
multiple = True
|
|
||||||
|
|
||||||
if multiple:
|
|
||||||
print("all")
|
|
||||||
else:
|
|
||||||
print(richest_student.name)
|
|
||||||
|
|
||||||
"""
|
|
||||||
Codewars Kata:
|
|
||||||
https://www.codewars.com/kata/5a03af9606d5b65ff7000009
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class User:
|
|
||||||
def __init__(self, name: str, balance: int, checking_account: bool):
|
|
||||||
self.name = name
|
|
||||||
self.balance = balance
|
|
||||||
self.checking_account = checking_account
|
|
||||||
|
|
||||||
def withdraw(self, amount):
|
|
||||||
if amount > self.balance:
|
|
||||||
raise ValueError("overdraw")
|
|
||||||
self.balance -= amount
|
|
||||||
return f"{self.name} has {self.balance}."
|
|
||||||
|
|
||||||
def add_cash(self, amount):
|
|
||||||
self.balance += amount
|
|
||||||
return f"{self.name} has {self.balance}."
|
|
||||||
|
|
||||||
def check(self, issuer, amount):
|
|
||||||
if amount > issuer.balance:
|
|
||||||
raise ValueError("bad check")
|
|
||||||
if not issuer.checking_account:
|
|
||||||
raise ValueError("non checking-account")
|
|
||||||
self.balance += amount
|
|
||||||
issuer.balance -= amount
|
|
||||||
return f"{self.name} has {self.balance} and {issuer.name} has {issuer.balance}."
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
Codewars Kata:
|
|
||||||
https://www.codewars.com/kata/5941c545f5c394fef900000c
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class Warrior:
|
|
||||||
RANKS = [
|
|
||||||
("Greatest", 100),
|
|
||||||
("Master", 90),
|
|
||||||
("Champion", 80),
|
|
||||||
("Conqueror", 70),
|
|
||||||
("Elite", 60),
|
|
||||||
("Sage", 50),
|
|
||||||
("Veteran", 40),
|
|
||||||
("Warrior", 30),
|
|
||||||
("Fighter", 20),
|
|
||||||
("Novice", 10),
|
|
||||||
("Pushover", 1),
|
|
||||||
]
|
|
||||||
|
|
||||||
def __init__(self, level=1, rank="Pushover", experience=100, achievements=None):
|
|
||||||
self.level = level
|
|
||||||
self.rank = rank
|
|
||||||
self.experience = experience
|
|
||||||
self.achievements = achievements if achievements is not None else []
|
|
||||||
|
|
||||||
def battle(self, enemy):
|
|
||||||
if not enemy or enemy > 100:
|
|
||||||
return "Invalid level"
|
|
||||||
|
|
||||||
level_diff = enemy - self.level
|
|
||||||
rank_diff = (enemy // 10 + 1) - (self.level // 10 + 1)
|
|
||||||
if level_diff >= 5 and rank_diff >= 1:
|
|
||||||
return "You've been defeated"
|
|
||||||
else:
|
|
||||||
self.xp_won(level_diff)
|
|
||||||
if level_diff > 0:
|
|
||||||
return "An intense fight"
|
|
||||||
elif level_diff > -2:
|
|
||||||
return "A good fight"
|
|
||||||
else:
|
|
||||||
return "Easy fight"
|
|
||||||
|
|
||||||
def xp_won(self, diff: int):
|
|
||||||
xp_gained = 0
|
|
||||||
if diff == -1:
|
|
||||||
xp_gained = 5
|
|
||||||
elif diff == 0:
|
|
||||||
xp_gained = 10
|
|
||||||
elif diff > 0:
|
|
||||||
xp_gained = diff**2 * 20
|
|
||||||
|
|
||||||
if xp_gained:
|
|
||||||
self.add_xp(xp_gained)
|
|
||||||
|
|
||||||
def add_xp(self, xp_gained: int):
|
|
||||||
self.experience += xp_gained
|
|
||||||
|
|
||||||
if self.experience > 10000:
|
|
||||||
self.experience = 10000
|
|
||||||
|
|
||||||
if self.level != self.experience // 100:
|
|
||||||
self.level = self.experience // 100
|
|
||||||
|
|
||||||
for rank_name, max_level in self.RANKS:
|
|
||||||
if max_level <= self.level:
|
|
||||||
self.rank = rank_name
|
|
||||||
break
|
|
||||||
|
|
||||||
def training(self, training_arr):
|
|
||||||
description, xp_gained, min_level = training_arr
|
|
||||||
if self.level < min_level:
|
|
||||||
return "Not strong enough"
|
|
||||||
elif self.level >= min_level:
|
|
||||||
self.achievements.append(description)
|
|
||||||
self.add_xp(xp_gained)
|
|
||||||
return description
|
|
||||||
Loading…
x
Reference in New Issue
Block a user