2017-09-26 1 views
0

Je travaille sur un exercice de python demander écrire des programmes Python qui a lu une séquence d'entrées entières et imprimerDemander une séquence d'entrées de l'utilisateur python3

The smallest and largest of the inputs. 

Mon code jusqu'à

def smallAndLarge(): 

    num1 = int(input("Enter a number: ")) 
    num2 = int(input("Enter a number: ")) 

    if num1 > num2: 
     print(num1,"is the largest number, while",num2,"is the smallest number.") 
    else: 
     print(num2,"is the largest number, while",num1,"is the smallest number.") 


smallAndLarge() 

J'utilise def smallAndlarge(): puisque mon instructeur veut que nous utilisions une fonction def pour tous nos programmes dans le futur.

Ma question est comment puis-je demander plusieurs entrées d'un utilisateur jusqu'à ce qu'ils décident qu'ils ne veulent plus ajouter d'entrées. Merci pour votre temps.

+1

En savoir plus sur 'while' boucles: https://wiki.python.org/moin/WhileLoop – Idos

Répondre

1

Vous pouvez laisser l'utilisateur signaler quand ils sont terminés. (live example)

numbers = []; 
in_num = None 

while (in_num != ""): 
    in_num = input("Please enter a number (leave blank to finish): ") 
    try: 
     numbers.append(int(in_num)) 
    except: 
     if in_num != "": 
      print(in_num + " is not a number. Try again.") 

# Calculate largest and smallest here. 

Vous pouvez choisir une chaîne que vous voulez pour le « stop », tant que ce n'est pas la même que la valeur initiale de in_num. En outre, vous devez ajouter une logique pour gérer les mauvaises entrées (c'est-à-dire pas un nombre entier) pour éviter les exceptions d'exécution.

Dans cet exemple spécifique, vous souhaiterez probablement créer des variables smallest et largest et calculer leurs valeurs après chaque entrée. Cela n'a pas tellement d'importance pour un petit calcul, mais au fur et à mesure que vous passez à des projets plus importants, vous devez garder à l'esprit l'efficacité du code.

+0

Merci mac, Qui a beaucoup aidé! J'apprécie ton aide. – Matticus

+0

@Matticus vous pariez! – mac9416