Je fais la pratique du jeu de texte pour l'école et nous devons faire quatre fonctions différentes. J'ai fait le système de points de santé, et je voudrais maintenant imprimer combien de pourcentages joueurs utilisés du montant total.
Ceci est mon système HP: P>
def hp_left_percentage(x,y): vastaus = x - y return vastaus health = 16 tulos = hp_left_percentage(health,player_health_points) print(tulos)
3 Réponses :
Si je comprends votre question correctement, vous souhaitez afficher le pourcentage de la santé à gauche, pas seulement le nombre absolu? En ce moment, votre health_left_percenter code> montre simplement la différence de numéro dans HP. Pour calculer le pourcentage, vous pouvez le modifier à ceci:
initial_hp = 100
def hp_left_percentage(x, y):
vastaus = (x - y) / initial_hp
return vastaus
perc_left = hp_left_percentage(x, y)
print(f'You have {perc_left:.0%} HP left!')
Cela indique à quel point votre santé a juste diminué, et non le pourcentage laissé de la valeur de départ.
Comment? Si x = 100, HP initial, et y = 30, les dommages, la fonction renvoie 70%, telle qu'elle est.
Ensuite, si vous en perdez 20 encore, il devrait vous afficher maintenant avoir 50% (si je devine correctement les intentions de l'OP). Votre code affichera 71%
Aussi, sûrement, pour que la fonction soit significative, elle devrait retourner code> la valeur, pas seulement l'imprimer.
Donc, dans mon cas x = player_health (15) et y = player_health_points. Pourquoi je ne peux pas simplement écrire x - y / x? Et ce code me dit toujours 47%, ce qui signifie combien il est dépensé, pas combien reste? Désolé si j'ai mal compris quelque chose. J'ai commencé mon école il y a deux mois et avant que j'étais HTML Newbie et je ne connais rien de Python.
@Osmankaapa aucun problème, et je suis désolé de ne pas vous comprendre correctement. Essayons de nettoyer: dans votre fonction hp_left_percenter code> X est la santé du joueur initialement et y est la santé des joueurs maintenant?
Voulez-vous dire quelque chose comme ça?
DEF HELA (Player_Health, Hit): retour Player_Health - HIT DEF HP_LEFT_PERCENTAGEAGEAGE (X, Y): vastaus = 1 - (x - y) / initial_hp renvoyer vastaus lecteur_health_points = 15 joueur_hit_value = 15 joueur_hp = 15 player_health_points = hela (player_health_points , dog_hit_value,) perc_left = hp_left_percenter (player_health, player_health_points) Imprimer (f'YOU avez {PERC_LEFT: .2%} HP GAUCHE! ')
J'étais en vacances, alors n'avez pas écrit ici. Merci pour toutes les réponses.
C'est ce que j'ai fait. p>