Le calcul de la superficie et le périmètre du triangle avec Python?
Hé les gars, je vais avoir des problèmes avec la sortie de l'aire et le périmètre d'un triangle donné les côtés à l'aide de la du Héron la formule. Voici mon code:
def main():
a = int(input('Enter first side: '))
b = int(input('Enter second side: '))
c = int(input('Enter third side: '))
def area():
# calculate the sides
s = (a + b + c) / 2
# calculate the area
area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
return area
area()
def perimeter():
# Calculate the perimeter
perim = a + b + c
return perim
perimeter()
print( 'Area is: ',format(area,'.1f'))
print( 'Perimeter is: ',format(perim,',.1f'))
main()
Je reçois beaucoup d'erreurs comme
- TypeError: non-vide de format de chaîne de caractères passée à l'objet.format
- NameError: name 'perim" n'est pas défini
La façon dont je suis censé faire, c'est de demander les côtés dans la fonction principale, et puis l'appel de la deuxième, puis sortie les réponses, avec une décimale.
Quelqu'un peut me dire ce que je fais de mal?
Vous devez vous connecter pour publier un commentaire.
Vous devez affecter les valeurs de retour et de faire les trois longueur côté mondiale. Honnêtement, vous devez en savoir plus sur la portée des variables qui sont les niveaux dans laquelle les variables sont définies. En outre, vos noms de variable ne doit pas remplacer vos noms de fonction. De cette façon, vous pouvez réutiliser ces petites fonctions plus tard de n'importe où dans votre script simplement en les appelant et en passant à trois paramètres.
Par exemple:
Ce doit être une manière plus propre de le faire et vous n'appelez une fonction dans le thread principal. Vous allez éviter de déclarer des variables globales et tout un tas de bordel que vous avez (pas d'infraction) dans votre code original.
Vous devez affecter les valeurs de retour et de faire les trois longueur côté mondiale. Honnêtement, vous devez en savoir plus sur la portée des variables qui sont les niveaux dans laquelle les variables sont définies. En outre, vos noms de variable ne doit pas remplacer vos noms de fonction.
a = area()
ne serait-ce pas un problème, puisquea
existe déjà?TypeError : assurez-vous de marquer paramètres de mise en forme avec une paire d'accolades.
NameError : vous voudrez peut-être lire à propos de variable étendues.