0
votes

L'application de la fonction max () sur une liste integer entrée utilisée ne renvoie pas le maximum?

Je veux trouver le maximum et le minimum dans un utilisateur fourni une liste des chiffres.

Please enter an integer separated by commas. :1,2,4,36,5
max = 5
min = 1


2 commentaires

Vous comparez des chaînes, pas des chiffres.


Qu'est-ce que impression ("5"> "36") imprimé?


3 Réponses :


1
votes

Vous devriez jeter tous les éléments i sur int xxx

ou xxx

sortie xxx

Le code d'origine a fait que les éléments dans i comme chaînes ['1', '2', '4', '36', '36', ' 5 '] de sorte qu'ils devaient simplement être changés en Ints et qui ont rendu le min et max fonctionne correctement.


2 commentaires

N'utilisez pas la même variable i pour la variable d'itération et le résultat, c'est déroutant.


Tnx pour cela je le change.



1
votes

Ils sont en format à la chaîne c'est pourquoi. Il suffit de les cartographier entier. XXX


0 commentaires

1
votes

Convertissez-le en Entier pour obtenir des résultats appropriés

value = input("Please enter an integer separated by commas. :")

i=value.split(',')
i = [int(x) for x in i]
value1 = max(i)
value2 = min(i)

print("max =", value1)

print("min =", value2)

OR

value = input("Please enter an integer separated by commas. :")

i=[int(x) for x in value.split(',')]

value1 = max(i)
value2 = min(i)

print("max =", value1)

print("min =", value2)


0 commentaires