4 svar
415 visningar
mon_12 behöver inte mer hjälp
mon_12 113 – Fd. Medlem
Postad: 22 dec 2019 12:50

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. :/ 

Lindehaven 820 – Lärare
Postad: 22 dec 2019 14:31 Redigerad: 22 dec 2019 15:44

Du jämför med max1 som inte finns.

Tips: använd Pythons funktion min().

Laguna Online 30711
Postad: 22 dec 2019 15:13
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]. 

mon_12 113 – Fd. Medlem
Postad: 22 dec 2019 17:41
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 113 – Fd. Medlem
Postad: 22 dec 2019 17:47 Redigerad: 22 dec 2019 17:48
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! :)

Svara
Close