minsta värden
Jag försöker koda 5 minsta värden i min lista som är ganska lång. Jag tittade på ett tips som folk hade diskuterat här men det är ju för största:
def hej(list1, N):
....new_list = []
....for i in range(0, N):
........print(list1)
........max1 = 0
........for j in range(len(list1)):
............if list1[j] > max1:
................max1 = list1[j];
........list1.remove(max1);
........new_list.append(max1)
........print("Largest numbers are ",new_list)
Jag ändrade tecken och max för att få fram minsta värden men det gick inte.
def hej(list1, N):
....new_list = []
....for i in range(0, N):
........print(list1)
........min1 = 0
........for j in range(len(list1)):
............if list1[j] < max1:
................min1 = list1[j];
........list1.remove(min1);
........new_list.append(min1)
........print("smallest numbers are ",new_list)
Jag förstår inte varför. :/
Du jämför med max1 som inte finns.
Tips: använd Pythons funktion min().
Lindehaven skrev:Du jämför med max1 som inte finns.
Det är också sant, men startvärdet måste dessutom väljas med omsorg. 0 är mindre än allt (om alla värden är positiva), så det blir som om man redan hade hittat min-värdet 0.
Man kan sätta min1 till list1[0].
Laguna skrev:Lindehaven skrev:Du jämför med max1 som inte finns.
Det är också sant, men startvärdet måste dessutom väljas med omsorg. 0 är mindre än allt (om alla värden är positiva), så det blir som om man redan hade hittat min-värdet 0.
Man kan sätta min1 till list1[0].
Hur menar du? :)
mon_12 skrev:Laguna skrev:Lindehaven skrev:Du jämför med max1 som inte finns.
Det är också sant, men startvärdet måste dessutom väljas med omsorg. 0 är mindre än allt (om alla värden är positiva), så det blir som om man redan hade hittat min-värdet 0.
Man kan sätta min1 till list1[0].
Hur menar du? :)
Jag fixade tack! :)