Compare commits
No commits in common. "master" and "uebung1" have entirely different histories.
@ -1,6 +0,0 @@
|
||||
def greet(name):
|
||||
return f"Hello, {name} how are you doing today?"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(greet("John"))
|
||||
@ -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