2017-07-16 1 views
2
def main(): 

    line = input("How many numbers are included? \n") 

    numbers_included = int(line) 

    i = 0 

    sum = 0 
    print("Each number should be placed on separate row") 
    while i < numbers_included: 
     line = input ("") 
     number = int(line) 
     sum = sum + number 
     i = i + 1 
    average = sum/numbers_included 
    print("Average is",average) 
    print("and the biggest digit is", max(number)) 

main() 

Comment puis-je imprimer le plus grand nombre au code ci-dessus?Comment utiliser la commande max ou similaire "inside" pendant une commande en python?

Merci d'avance!

Répondre

0

Si vous souhaitez utiliser max, vous devez recueillir un itérables des nombres à passer dans max():

... 
numbers = [] # here 
... 
while i < numbers_included: 
    line = input ("") 
    number = int(line) 
    numbers.append(number) # here 
    ... 
average = sum/numbers_included 
print("Average is", average) 
print("and the biggest digit is", max(numbers)) 
0

Je pense que l'aide est la boucle for mieux sans utiliser une boucle while dans ce cas. Et ajouter des numéros à une liste et utiliser les opérations de liste sum() et max() pour faire votre travail.

def main(): 

    line = input("How many numbers are included? \n") 

    numbers_included = int(line) 
    val_sum = 0 
    numbers = [] 
    print("Each number should be placed on separate row") 

    for _ in range(numbers_included): 
     line = int(input()) 
     numbers.append(line) 

    val_sum = sum(numbers) 
    average = val_sum/numbers_included 
    print("Average is",average) 
    print("and the biggest digit is", max(numbers)) 

main() 
0

Ou, pour le plaisir et concis

if __name__ == "__main__": 
     n_lines_str = input("How many numbers are included? \n") 
     n_lines = int(n_lines_str) 
     print("Each number should be placed on separate row") 

     numbers = [int(input()) for i in range(n_lines)] 
     mean = sum(numbers)/len(numbers) 

     print("Average is {}".format(mean)) 
     print("Maximum is {}".format(max(numbers))) 
+0

Il n'y a pas besoin d'appeler 'len'; vous savez déjà combien de nombres il y a ('n_lines'). – chepner

+0

Bien sûr, vous savez qu'ils devraient être égaux. L'appel len est un temps constant, cependant, et cela signifie que la moyenne est en fait un moyen de ce qui est dans la liste. Sinon, nous savons que c'est un moyen à condition que len == n _... Mais c'est un niveau logique d'indirection. –