2015-10-19 3 views
1

J'écris un programme python dans lequel je veux permettre à l'utilisateur d'entrer seulement 10 numéros du terminal. S'ils essayent d'entrer plus de 10, ils devraient m'indiquer qu'ils peuvent ' t entrer dans plus de 10 numbers.How je peux y parvenir dans le code python.My ressemble comme suit:Script Python pour entrer le nombre d'éléments spécifié depuis le terminal

def get_list(): 
    '''takes data from the user to create a list''' 

    error =True 

    while error == True: 
     error =False 
     user_data = raw_input("Please enter integers separated by space:") 
     listofdata =user_data.split() 
     for item in listofdata: 
      try: 
       item = int(item) 
      except: 
       print("Please enter only numbers separated by spaces") 
       error =True 
       break 
    return listofdata 

vous avez besoin suggestion d'y parvenir.

+1

S'il vous plaît fixer votre indentation du code. En Python, l'indentation équivaut à la structure du programme, il est donc impossible de déboguer s'il n'est pas correctement mis en retrait. Notamment, votre déclaration de retour est au plus haut niveau de cet échantillon. Si cela est exact, alors cela ferait nécessairement partie d'une portée englobante qui n'est même pas montrée ici. –

Répondre

1

Après la ligne:

listofdata =user_data.split() 

vous pouvez ajouter un chèque, quelque chose comme:

if len(listofdata) > 10: 
    print "You should enter 10 integers only, please try again!" 
    error = True 
    continue 
+0

@akira, Veuillez accepter des réponses suffisantes avec le bouton coche. Cela vaut la peine d'être rep +2. – kdbanman