Zadanie ze SPOJ + "'int' object is not iterable"

0

Moje pytanie będzie dotyczyło tego zadania: http://pl.spoj.com/problems/VSR/
ale o treść nawet nie chodzi. Błąd mam w jednej linijce.

tab_srednich=[]
a = int(input())
for i in range(a):
	x,y=map(int,input().split())
	sr=0
	sr=int(((x+y)/2))
	tab_srednich[i]=map(int,sr)
	
for wynik in tab_srednich:
	print(tab_srednich[i]) 

Błąd dotyczy tego fragmentu: tab_srednich[i]=map(int,sr)
Nie rozumiem dlaczego. Sprawdzałam typ danych "sr" i jest intem.
Bardzo proszę o wskazówkę.

1

Zamiast: tab_srednich[i]=map(int,sr)
spróbuj: tab_srednich.append(sr)

0

Dziękuję za podpowiedź. Chwilę temu poprawiłam to, ale mimo to spoj nie chce przyjąć mojego rozwiązania:

tab_liczb=[]
a = int(input())
for i in range(a):
	x,y=map(int,input().split())
	tab_liczb.append((x+y)/2)
	
for wynik in tab_liczb:
	print(int(wynik)) 

działa tak jak powinno - moim zdaniem

3

Ale dlaczego miałby przyjąć skoro Twój program nawet nie przechodzi testów z przykładu? Dla danych 40 60 dostajesz 50 zamiast 48. Przemyśl sobie dlaczego średnia prędkość to nie średnia arytmetyczna tych dwóch prędkości :)

0

Przypisanie wartości do i-tego elementu listy jest możliwe tylko gdy i-ty element istnieje.

tab_srednich = [0] * a
....
tab_srednich[i] = sr

teoretycznie można się zabawić:

tab_srednich[i] = map(int, [sr]).__next__()
tab_srednich[i] = list(map(int, [sr]))[0]

1 użytkowników online, w tym zalogowanych: 0, gości: 1