-2
votes

Pourquoi ce retour 3 à Python 3.x +?

3

2 commentaires

Parce que "3"> "10" . Vous avez affaire à des chaînes ici, commandées alphabétiquement, pas de chiffres.


"3"> "10" , car il s'agit d'une comparaison entre chaînes.


3 Réponses :


1
votes

Parce que la chaîne "3" est supérieure à la chaîne "10", pour la même raison que la chaîne "Z" est supérieure à "A"; alphabétique plutôt que tri numérique. Les 20 premiers chiffres, en tant que chaînes, tristent comme:

1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 5 6 7 8 9

Ceci est parce que les chaînes sont triés du caractère le plus à gauche au plus à droite, donc par exemple 2 et 20 sont liés sur le premier caractère et le suivant le tremble, tandis que le 3 en 3 est supérieur à celui de 2 en 20 < / p>


0 commentaires

1
votes
# this will do string comparison 
k=input().split()
print(max(k))

# to make integers
# go element by element
k = [int(i) for i in input().split()]
print(max(k))
# using map
k = map(int, input().split())
print(max(k))

0 commentaires

0
votes

Vous devez spécifier que l'entrée est un entier utilisant la fonction int () , sinon python le verra automatiquement sous forme de chaîne . .

Les chaînes ont leur propre mode de tri complètement différent des entiers.


0 commentaires