Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności: PyStok #42 - wystąpią Łukasz Langa i Dominik Kozaczko
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: Dodawanie elementów listy na wejściu  (Przeczytany 149 razy)
« : 13:20 09/07/19 »
pattom Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 11


Witam,

mam taki problem:-)
Chciałem napisać prosty program, który dodaje poszczególne elementy listy.

Napisałem taki kod, który działa:

Kod
lista = [] # Tworzymy puta liste
wynik = 0
 
ilosc = int(input())# Wczytywanie ilosci elementów
 
for i in range(ilosc):# Wczytywanie poszczegolnych elementow
 x = int(input()) #jak dodaje .split() to sie wywala
 lista.append(x)
 
for i in range(ilosc):# Obliczanie sumy elementow
 wynik = wynik + lista[i]
 
print(wynik) #nasz wynik sumowania elementow listy
 
 

ale...

zależy mi aby można było na WEJŚCIU wpisywać elementy listy po spacji, czyli (przykład):

4 -> ilość elementów listy
1 3 2 8 -> poszczególne elementy

Obecnie mogę tylko tak:

4-> ilość elementów listy
1-│
3-│> poszczególne elementy
2-│
8-│
Zapisane
« Odpowiedz #1 : 16:17 09/07/19 »
Guaz Offline
Expert Python User

Zobacz profil
****

Reputacja: 72
Płeć: Mężczyzna
Wiadomości: 542


Kod
 
wynik = 0
 
ilosc = int(input())
 
#~Ilosc możesz olać, ale to zapewni ci że program się wywali jak ktoś poda więcej elementów.
lista = list(map(int, input().split(" ", ilosc)))
#~ Albo:
# lista = [int(x) for x in input().split(" ", ilosc)]
#~ A minimalna wersja:
# lista = [int(x) for x in input().split()]
#~ Do sumy możesz też ominąć grupowanie tego w listę, zostawić to w formie iteracji:
# iteracja = map(int, input().split(maxsplit=4))
 
#~ Wbudowana funkcja zsumuje ci elementy listy.
wynik = sum(lista)
 
print(wynik)
 
Możesz też ominąć pierwszy argument w split, jeśli byś chciał po prostu oddzielać białymi znakami (na przykład tabulacją lub dowolną ilością spacji), wtedy wystarczy dać `keyword argument` 'maxsplit=ilosc' wewnątrz argumentów dla split.
Zapisane

Python 3.5+ / Mint

Daje wędkę zamiast ryby. Chyba że ktoś się chce czegoś nauczyć, wtedy chętnie pomogę każdemu.
Za rybę niestety trzeba zapłacić Z politowaniem.
« Odpowiedz #2 : 21:42 09/07/19 »
pattom Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 11


Dziękuje za wyjaśnienia. Widać przekombinowałem:)
Jeszcze dopytam:

Jak w jednej lini na wejściu wczytać:
+ 2 2

potrzebuje do zadania:
https://pl.spoj.com/problems/CALC/

Napisałem taki kod:
Kod
while True:
   try:
       znak=input()
       a=int(input())
       b=int(input())
   #a, b = map(int, input().split())
       if znak == '+':
           wynik = (a+b)
           print(wynik)
       if znak =='-':
           wynik1 = (a-b)
           print(wynik1)
       if znak == '*':
           print(a*b)
       if znak =='/':
           print(a/b)
       if znak == '%':
           print(a%b)
   except:
       break
 
Zapisane
« Odpowiedz #3 : 22:56 09/07/19 »
sig Offline
Professional Python User

Zobacz profil
***

Reputacja: 91
Wiadomości: 434


Split tworzy listę, wiec np tak. Zamieniłem też wynik dzielenia na int-a bo inaczej tworzy float-a  i sędzia nie przepuszcza
Kod
while True:
   try:
       linia = input().split()
       znak, a, b = linia
       a=int(a)
       b=int(b)
       if znak == '+':
           wynik = (a+b)
           print(wynik)
       if znak =='-':
           wynik1 = (a-b)
           print(wynik1)
       if znak == '*':
           print(a*b)
       if znak =='/':
           print(int(a/b))
       if znak == '%':
           print(a%b)
   except:
       break
 
ew jak wolisz to znak będzie w linia[0] zaś liczby w linia[1] i linia[2].
Zapisane
« Odpowiedz #4 : 14:32 13/07/19 »
Mózg Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 6


Zadanie z notacją postfiksową:
https://leetcode.com/problems/evaluate-reverse-polish-notation/

Hint: stos.

https://i.imgur.com/td0HEqf.png
Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2019 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot