Ecrire un programme Python qui permet de lire un nombre >0 et de tester si ses chiffres sont dans l’ordre croissant.
Exemples :
n =157 -> les chiffres sont dans l’ordre croissant.
N =2760 -> les chiffres ne sont pas dans l’ordre croissant.
Pour vérifier si les chiffres d'un nombre donné sont dans l'ordre croissant, on peut utiliser un algorithme simple en suivant ces étapes :
1- Lire le nombre : Prendre en entrée un nombre entier positif.
2- Convertir le nombre en chaîne de caractères : Cela permet de traiter chaque chiffre individuellement.
3- Parcourir les chiffres : Comparer chaque chiffre avec le chiffre suivant pour vérifier si chaque chiffre est inférieur ou égal au suivant.
4- Afficher le résultat : Si tous les chiffres sont dans l'ordre croissant, afficher un message indiquant que les chiffres sont en ordre croissant ; sinon, afficher un message indiquant le contraire.
Dans cet algorithme, On va utiliser deux fonctions.
Algorithme du programme principal
1 2 3 4 5 6 7 8 9 |
Algorithme test_nbr_ordre Debut ch= saisie_numerique() Si test_ordre(ch): ecrire('Les chiffres sont dans le sens croissant') Sinon ecrire('Les chiffres ne sont pas dans le sens croissant') 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_ordre
Cette fonction teste si un nombre est composé des chiffres dans l'ordre croissant ou non.
1 2 3 4 5 6 7 8 |
Fonction test_ordre(ch) Début i<-0 Tant que (ch[i]<=ch[i+1]) ou (i<long(ch)-2) Faire i=i+1 Fin tant que retourner ch[i]<=ch[i+1] Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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_ordre(ch): i=0 while (ch[i]<=ch[i+1]) and (i<len(ch)-2) : i=i+1 return ch[i]<=ch[i+1] ch= saisie_numerique() if test_ordre(ch): print('les chiffres sont dans ordre croissant') else: print('les chiffres ne sont pas dans ordre croissant') |
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_ordre.
QLabel
nommé 'testordre' pour afficher le test de l'ordre des chiffres d'un nombre donné.
Enregistrez le fichier avec l'extension .ui
, par exemple test_ordre.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 28 29 |
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_ordre.ui") def test_ordre() : ch = windows.ch.text() if ch.isdecimal(): cubique=0 # initialiser la somme i=0 while (ch[i]<=ch[i+1]) and (i<len(ch)-2) : i=i+1 if (ch[i]<=ch[i+1]) : windows.testordre.setText('les chiffres sont dans ordre croissant') else : windows.testordre.setText('les chiffres ne sont pas dans ordre croissant') else : windows.testordre.setText('donner un nombre >0') windows.afficher_bt.clicked.connect ( test_ordre ) 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