Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- #----------------------------------------------------------------------------
- # Created by : Alain Van Kerckhoven
- # Created Date: 23/01/2023
- # Licence : GPL
- # Version : 1.0
- # ---------------------------------------------------------------------------
- """
- Calcule les n premiers nombres p-gonaux
- """
- # ---------------------------------------------------------------------------
- print("Ce programme recherche les n premiers nombres p-gonaux (triangulaires si p=3, carrés si p=4 etc.).")
- # Attendre une valeur de p correcte
- while True:
- try:
- p = int(input("Valeur de p (4 pour carré p. ex.) : "))
- if p>=3:
- break;
- else:
- print("J'attends un nombre entier supérieur à 2...")
- except ValueError:
- print("J'attends un nombre entier supérieur à 2...")
- continue
- # Attendre une valeur de n correcte
- while True:
- try:
- n = int(input("Valeur de n : "))
- if n>=1:
- break;
- else:
- print("J'attends un nombre entier supérieur à 0...")
- except ValueError:
- print("J'attends un nombre entier supérieur à 0...")
- continue
- result_list = []
- vocab_dict = {
- 3: "triangulaires",
- 4: "carrés",
- 5: "pentagonaux",
- 6: "hexagonaux",
- 7: "heptagonaux",
- 8: "octogonaux",
- 9: "ennéagonaux",
- 10: "hexagonaux",
- 11: "hendécagonaux",
- 12: "dodecagonaux",
- }
- # Déterminer le bon terme
- if (p<13):
- nom = vocab_dict[p]
- else:
- nom = str(p)+"-gonaux"
- # Calcul
- for i in range(1, n+1):
- nb = int((((p-2)*(i)*(i-1))/2)+i)
- result_list.append(nb)
- print ("Les", n, "premiers nombres", nom, "sont : ")
- print(result_list)
Advertisement
Add Comment
Please, Sign In to add comment