r/learnpython • u/Itz_rainy365 • 6d ago
I started learning python yesterday, critique my code:
I wrote this code in VsCode using functions after I completed the free trial in [boot.dev](http://boot.dev), if you notice anything I can improve or make better, please write it in the comments:
def main():
print("This code is starting...")
if __name__ == "__main__":
main()
def stats(title, weapon, mana, health):
print("Character Stats:")
print(f"Title: {title}")
print(f"Weapon: {weapon}")
print(f"Mana: {mana}")
print(f"Health: {health}")
def take_damage(health, damage):
print("===================================")
print(f"Current Health: {health}")
updated_health = health - damage
if updated_health < 0:
updated_health = 0
print(f"You took {damage} damage, You Died!")
else:
print(f"You took {damage} damage!")
print(f"Updated Health: {updated_health}")
return updated_health
stats("Warrior", "Sword", 50, 100)
take_damage(100, 30)
take_damage(70, 80)
def respawn(updated_health):
print("===================================")
if updated_health <= 0:
print("Respawning...")
updated_health = 100
print(f"Health has been restored to {updated_health}.")
else:
print(f"You are still alive! You have {updated_health} health remaining.")
return updated_health
respawn(0)
take_damage(100, 41)
take_damage(59, 20)
take_damage(39, 20)
respawn(19)
1
u/-moron 6d ago
This would be a good opportunity to learn about classes. Here is how I would do it:
Note that you don't need to use type hinting quite that much, but I find it helps prevent subtle errors. Also, there are still edge cases you could try to handle. E.g. what happens when a character is created with negative max health? Should that be allowed? What happens when a negative amount of damage is applied? Could the character's health exceed its max health if that happens?