Il s'agit d'une version modifiée de "Find the maximum value python" que j'ai soulevé l'autre jour. Voici les mauvais points et les changements dans le code précédent:
-Lorsque tous les éléments de la liste sont négatifs, la valeur maximale devient 0. ・ La vitesse de traitement est lente
-Définir la valeur initiale de la valeur maximale candidate à un élément approprié de la liste ・ Changement de la déclaration while à la déclaration for
J'ai essayé le refactoring basé sur les deux mauvais points
num = int(input("Combien de pièces souhaitez-vous remplacer?"))
value_list = [] #Préparer un tableau pour stocker des nombres
for i in range(num):
value = int(input("Remplacez un nombre"))
value_list.append(value) #Ajouter des valeurs à la liste préparée
max_value = value_list[0] #Initialiser avec des éléments de liste
for i in range(num):
if value_list[i] > max_value:
max_value = value_list[i]
print(max_value) #Valeur maximale de sortie
Substitution(Changer avant)
while i < num:
value = int(input("Remplacez un nombre"))
value_list.append(value) #Ajouter des valeurs à la liste préparée
i += 1
Substitution(Après le changement)
for i in range(num):
value = int(input("Remplacez un nombre"))
value_list.append(value) #Ajouter des valeurs à la liste préparée
Comparaison(Changer avant)
max_value = 0 #Initialiser la valeur maximale à 0
i = 0
while i < num:
if value_list[i] >= max_value: #Comparez les nombres enregistrés dans l'ordre
max_value = value_list[i]
i += 1
Comparaison(Après le changement)
max_value = value_list[0] #Initialiser avec des éléments de liste
for i in range(num):
if value_list[i] > max_value:
max_value = value_list[i]
En définissant la valeur initiale sur l'élément d'entrée, la valeur maximale sera sortie normalement même lorsque tous les éléments d'entrée sont négatifs. De plus, en passant d'une instruction while à une instruction for, l'initialisation et le traitement d'ajout ne sont plus gaspillés.
On m'a fait remarquer dans les commentaires que python avait une fonction pour trouver la valeur maximale d'un objet avec un élément donné, j'ai donc essayé de l'utiliser immédiatement.
num = int(input("Combien de pièces souhaitez-vous remplacer?"))
value_list = [] #Préparer un tableau pour stocker des nombres
for i in range(num):
value = int(input("Remplacez un nombre"))
value_list.append(value) #Ajouter des valeurs à la liste préparée
print(max(value_list))
Résultat de sortie
Combien de pièces souhaitez-vous remplacer? 3
Remplacez un nombre-3
Remplacez un nombre-2
Remplacez un nombre-5
-2
Merci à tous ceux qui nous ont fait part de leurs opinions et suggestions.
Recommended Posts