Tables de multiplication

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 200 fois - Téléchargée 32 fois

Contenu du snippet

Ben c'est mon premier programme. Donc soyez un peu indulgeants svp ;)

Donc c'est tout simple mais ca m'a appris a maitriser les conditions et les variables :)

Source / Exemple :


# -*- coding: cp1252 -*-
# tables.py par maxpeg0705

# Met du vide dans la variable numero
numero = ''

# Tant que numero est vide
while (numero == ''):
                # Stocke dans la variable numéro la réponse de l'utilisateur
                try:
                    numero = input('Quelle table de multiplication ? (entre 1 et 10) : ')
                # Si il y a une erreur !!
                except:
                    print 'Veuillez entrer un chiffre !!'

# Tant que numero est plus petit que 1
while (numero < 1):
                   print 'Veuillez entrer un chiffre compris entre 1 et 10 !!'
                   numero = input('Quelle table de multiplication ? (entre 1 et 10) : ')

# Tant que numero est plus grand que 10
while (numero > 10):
                   print 'Veuillez entrer un chiffre compris entre 1 et 10 !!'
                   numero = input('Quelle table de multiplication ? (entre 1 et 10) : ')

# Autrement on affiche
else :
                # Met une ligne vide
                print ''
                a,b,c = numero,2,numero
                # Pour afficher seulement 10 resultats
                maxi = numero * 10
                # Tant que a ne depasse pas maxi
                while (a <= maxi) :
                    print a
                    a = c * b
                    b = b + 1

Conclusion :


N'hesitez pas a faire des commentaires :D

Améliorations prévues :
- Pouvoir choisir combien de résultats afficher (pour le moment c'est 10)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
samedi 2 juin 2007
Statut
Membre
Dernière intervention
3 juin 2009

il y a deux erreurs dans ton prog:
dans
while (numero < 1):
...
et dans
while (numero > 10):
...
il te faudrais
try:
...
except:
...
comme dans la boucle
while (numero ==''):
...
et le else a la fin des boucle while ne sert a rien car quand l'utilisateur sort de toutes ces boucle c est que toute les conditions sont remplies.
de plus si l utilisateur entre 20, il ne rentre pas dans la boucle numero <1
mais rentre dans la deuxieme et si dans la deuxieme il entre -1 tu l a dans l os!!!

et enfin faire ceci:
# Pour afficher seulement 10 resultats
maxi = numero * 10
# Tant que a ne depasse pas maxi
while (a <= maxi) :
...
revient au meme que faire:
soit:
while a<=10:
...
soit:
for a in range(1,11):
...

donc voici le meme code :

continuer=True
#tant que continuer est 'vrai'
while continuer:
#Essais: si l'entrée est un nombre
try:
print 'Entrer un nombre compris entre 1 et 10'
numero=input()
#Tant que le numero n'est pas compris dans l'intervalle [1:10] (liste=[1,2,3,4,5,6,7,8,9,10]
while numero not in range(1,11):
numero=input()
#arret de la boucle
continuer=False
#Si erreur dans l'essais (Excepté)
except:
print "Veuillez entrer un nombre"

#Boucle servant à l'affichage de la table de mult.
for i in range(1,11):
print numero*i
Messages postés
101
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
31 octobre 2006

Pour les debutants je trouve ce code vraiment pas mal.
T'a bien réussi les boucles...
Messages postés
35
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Réduire pour réduire, on peut aussi remplacer par

while numero not in range(1,11):

et si on veut encore gagner un mot, on inverse les blocs et on met:

while numero in range(1,11): #(sans le "not" ;) )
# Met une ligne vide
print ''
...

et

else:
print 'Veuillez entrer un chiffre compris entre 1 et 10 !!'
...


Mais bon, est-ce vraiment important de faire court dès ses débuts...
Messages postés
12
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
15 mars 2005

Désolé, j'ai eu un plantage.... Je refais...

Pour réduire le code ==>

while (numero < 1 ) or (numero > 10) or (numero == ""):
numero = input(......)

Cela évite d'écrire 3 fois le input et réduit le code à presque 1 tiers !!!

Ce n'est qu'un avis...

Bon courage pour la suite.
Messages postés
12
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
15 mars 2005

" while (numero < 1): "

Pour réduire le code ==>

while (numero < 1 ) or (numero > 10):
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (maxpeg0705)