sumowanie do miliona

sumowanie do miliona
I1
  • Rejestracja:3 miesiące
  • Ostatnio:około 2 miesiące
  • Postów:15
0

Cześć jak to poprawić treść:
Sumowanie do miliona. Utwórz listę liczb od jednego do miliona, a następnie za pomocą funkcji min() i max() sprawdź, czy lista faktycznie zaczyna się
od wartości jeden i kończy na milionie. Ponadto wykorzystaj funkcję sum(), aby
zobaczyć, jak szybko Python może dodać milion liczb.

Kopiuj
lista=[]
for milion in range(1, 1000001):
    lista.append(milion)
    min(lista)

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:3 minuty
  • Postów:8423
0
Izaa1 napisał(a):

Cześć jak to poprawić treść:
Sumowanie do miliona. Utwórz listę liczb od jednego do miliona, a następnie za pomocą funkcji min() i max() sprawdź, czy lista faktycznie zaczyna się
od wartości jeden i kończy na milionie.

Treść jest błędna, ponieważ min() i max() nie sprawdza pierwszego i ostatniego elementu, więc nie sprawdzi ci czy lista faktycznie zaczyna się od wartości jeden i kończy na milionie..

Więc, żeby poprawić treść, to możesz przeredagować np. na:
sprawdź, czy w liście faktycznie najmniejsza wartość to jeden, a największa milion.


edytowany 1x, ostatnio: LukeJL
I1
  • Rejestracja:3 miesiące
  • Ostatnio:około 2 miesiące
  • Postów:15
0
LukeJL napisał(a):
Izaa1 napisał(a):

Cześć jak to poprawić treść:
Sumowanie do miliona. Utwórz listę liczb od jednego do miliona, a następnie za pomocą funkcji min() i max() sprawdź, czy lista faktycznie zaczyna się
od wartości jeden i kończy na milionie.

Treść jest błędna, ponieważ min() i max() nie sprawdza pierwszego i ostatniego elementu, więc nie sprawdzi ci czy lista faktycznie zaczyna się od wartości jeden i kończy na milionie..

Więc, żeby poprawić treść, to możesz przeredagować np. na:
sprawdź, czy w liście faktycznie najmniejsza wartość to jeden, a największa milion.

dalej nie wiem jak to zrobić :( po przeredagowaniu treści

Spine
  • Rejestracja:około 22 lata
  • Ostatnio:4 minuty
  • Postów:6688
1

Zastanów się jaki indeks ma pierwszy element listy i jaki indeks ma ostatni element listy?

Kopiuj
lista = list(range(1, 1000001)) # generujemy listę elementów od 1 do 1mln

print("Pierwszy element listy: " + str(lista[0]))
print("Ostatni element listy: " + str(lista[-1]))

print("Sprawdzenie, czy pierwszy element listy to min: " + str(lista[0] == min(lista)))
print("Sprawdzenie, czy ostatni element listy to max: " + str(lista[999999] == max(lista)))
# zamiast lista[999999] można napisać lista[-1]
# w Pythonie to ostatni element listy

print("Sprawdzenie, czy drugi element listy to min: " + str(lista[1] == min(lista)))
print("Sprawdzenie, czy przedostatni element listy to max: " + str(lista[-2] == max(lista)))

print("Suma liczb z listy: " + str(sum(lista)))

Wynik:

Kopiuj
Pierwszy element listy: 1
Ostatni element listy: 1000000
Sprawdzenie, czy pierwszy element listy to min: True
Sprawdzenie, czy ostatni element listy to max: True
Sprawdzenie, czy drugi element listy to min: False
Sprawdzenie, czy przedostatni element listy to max: False
Suma liczb z listy: 500000500000

🕹️⌨️🖥️🖱️🎮
edytowany 5x, ostatnio: Spine
I1
  • Rejestracja:3 miesiące
  • Ostatnio:około 2 miesiące
  • Postów:15
0
Spine napisał(a):

Zastanów się jaki indeks ma pierwszy element listy i jaki indeks ma ostatni element listy?

pierwszy element indeks 1 drugi element indeks 1000001?

Spine
  • Rejestracja:około 22 lata
  • Ostatnio:4 minuty
  • Postów:6688
1

@Izaa1: Napisałem kod w poście wyżej.

Skoro lista zaczyna się od 1 i ma zawierać wszystkie liczby od 1 do 1mln, to znaczy, że wszystkich elementów będzie 1mln.

Ostatni element listy to długość_listy minus 1.
Czyli 1mln - 1.


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
I1
  • Rejestracja:3 miesiące
  • Ostatnio:około 2 miesiące
  • Postów:15
0

a

Spine napisał(a):

Zastanów się jaki indeks ma pierwszy element listy i jaki indeks ma ostatni element listy?

Kopiuj
lista=list(range(1, 1000001)) # generujemy listę elementów od 1 do 1mln

print("Pierwszy element listy: " + str(lista[0]))
print("Ostatni element listy: " + str(lista[-1]))

print("Sprawdzenie, czy pierwszy element listy to min: " + str(lista[0] == min(lista)))
print("Sprawdzenie, czy ostatni element listy to max: " + str(lista[999999] == max(lista)))
# zamiast lista[999999] można napisać lista[-1]
# w Pythonie to ostatni element listy

print("Sprawdzenie, czy drugi element listy to min: " + str(lista[1] == min(lista)))
print("Sprawdzenie, czy przedostatni element listy to max: " + str(lista[-2] == max(lista)))

print("Suma liczb z listy: " + str(sum(lista)))

Wynik:

Kopiuj
Pierwszy element listy: 1
Ostatni element listy: 1000000
Sprawdzenie, czy pierwszy element listy to min: True
Sprawdzenie, czy ostatni element listy to max: True
Sprawdzenie, czy drugi element listy to min: False
Sprawdzenie, czy przedostatni element listy to max: False
Suma liczb z listy: 500000500000

a to było zadanie na pętlę for czy da się z pętlą zrobić?

Spine
  • Rejestracja:około 22 lata
  • Ostatnio:4 minuty
  • Postów:6688
0

Da się to zrobić z pętlą, ale polecenie kazało zastosować funkcję sum().

Kopiuj
lista = list(range(1, 1000001)) # generujemy listę elementów od 1 do 1mln

suma = 0

for element in lista:
	suma += element # albo suma = suma + element
	
print (suma)

🕹️⌨️🖥️🖱️🎮
edytowany 4x, ostatnio: Spine
I1
  • Rejestracja:3 miesiące
  • Ostatnio:około 2 miesiące
  • Postów:15
0
Spine napisał(a):

Da się to zrobić z pętlą, ale polecenie kazało zastosować funkcję sum().

Kopiuj
lista = list(range(1, 1000001)) # generujemy listę elementów od 1 do 1mln

suma = 0

for element in lista:
	suma += element # albo suma = suma + element
	
print (suma)

a tutaj można też dodać min() i max()?

obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
2
Izaa1 napisał(a):

a tutaj można też dodać min() i max()?

tak, ale nie taka jest treść zadania. Miałeś użyć wbudowanych funkcji min, max i sum a nie pisać je samodzielnie. Kod powyżej już korzysta ze wszystkich wymienionych


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
Spine
  • Rejestracja:około 22 lata
  • Ostatnio:4 minuty
  • Postów:6688
1
Izaa1 napisał(a):

a tutaj można też dodać min() i max()?

A co mi tam...

Kopiuj
lista = list(range(1, 1000001)) # generujemy listę elementów od 1 do 1mln

suma = 0
minimum = 100000000000000000
maksimum = -100000000000000000

for element in lista:
	suma += element # albo suma = suma + element
	
	if element < minimum:
		minimum = element
		
	if element > maksimum:
		maksimum = element
	
print (suma)
print (minimum)
print (maksimum)

minimum inicjujemy liczbą, co do której mamy pewność, że jest większa niż inne sprawdzane liczby.
Analogicznie maksimum.


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.