Ecrire un programme Python qui teste si un nombre > 0 est cubique ou non.
Un nombre est dit cubique lorsqu’il est égal à la somme des cubes de ses chiffres.
Exemple : 153 est cubique car 153=13+53+33
Pour déterminer si un nombre positif n est un nombre cubique au sens où il est égal à la somme des cubes de ses chiffres, on peut suivre les étapes suivantes :
1- Décomposer le nombre en ses chiffres.
2- Calculer le cube de chaque chiffre.
3- Sommer les cubes des chiffres : Additionner les cubes des chiffres.
4- Comparer la somme au nombre original : Vérifier si la somme des cubes des chiffres est égale au nombre.
Dans cet algorithme, On va utiliser deux fonctions.
Algorithme du programme principal
1 2 3 4 5 6 7 8 9 |
Algorithme test_cubique Debut ch= saisie_numerique() Si test_cubique(ch): ecrire(ch+' est un nombre cubique') Sinon ecrire(ch+' est un nombre non cubique') Finsi Fin |
Déclaration des objets
Objet | Type / Nature |
ch | chaîne des caractères |
La fonction saisie_numerique
Cette fonction retourne une chaîne qui contient un nombre > 0.
1 2 3 4 5 6 7 8 9 10 |
Fonction saisie_numerique() Début ecrire('donner un nombre >0') lire(ch) Tantque non(Estnum(ch)) : ecrire('donner un nombre >0') lire(ch) Fin Tantque retourner ch Fin |
La fonction test_cubique
Cette fonction teste si un nombre positif est cubique ou non.
1 2 3 4 5 6 7 8 9 |
Fonction test_cubique(ch) Début cubique<-0 # initialiser la variable cubique Pour i de 0 à long(ch)-1 faire cubique<-cubique+Valeur(ch[i])*Valeur(ch[i])*Valeur(ch[i]) retourner ch=Convch(cubique) Fin |
Déclaration des objets
Name | Age |
i | entier |
cubique | entier |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def saisie_numerique(): # Saisie d'une chaine ch=input("donner un nombre >0 ") while not(ch.isdecimal()) : ch=input("donner un nombre >0 ") return ch # fonction qui teste un nombre cubique ou non def test_cubique(ch): cubique=0 # initialiser la variable cubique for i in range(len(ch)): cubique=cubique+int(ch[i])*int(ch[i])*int(ch[i]) return ch==str(cubique) ch= saisie_numerique() if test_cubique(ch): print(ch+' est un nombre cubique') else: print(ch+' est un nombre non cubique') |
Exécution du programme
Pour créer une application en Python pour afficher le tableau des n entiers en utilisant Qt Designer pour l'interface graphique, suivez ces étapes :
a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.
b- Ajoutez ces widgets:
QLineEdit
nommé 'ch' pour entrer un nombre sous forme d'une chaîne des caractères.
QPushButton
nommé 'afficher_bt' pour exécuter le module test_cubique.
QLabel
nommé 'cubique' pour afficher le test cubique d'un nombre donné.
Enregistrez le fichier avec l'extension .ui
, par exemple test_nbr_cubique.ui
.
Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets app = QApplication([]) windows = loadUi ("test_nbr_cubique.ui") def test_cubique() : ch = windows.ch.text() if ch.isdecimal(): cubique=0 # initialiser la somme for i in range(len(ch)): cubique=cubique+int(ch[i])*int(ch[i])*int(ch[i]) if int(ch)==cubique : windows.cubique.setText('le nombre est cubique') else : windows.cubique.setText('le nombre est non cubique') else : windows.cubique.setText('donner un nombre >0') windows.afficher_bt.clicked.connect ( test_cubique ) windows.show() app.exec_() |
Exécution du programme
Vous pouvez voir aussi :
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info