Unos dve ili više podataka u jednoj liniji


#1

O kom takmičenju se radi?

Programiranje za osnovnu školu- programski jezik Python

Poruka:

…Kako da u jednoj liniji korisnik unese 2 ili više podataka? Pomoć je potrebna u programskom jeziku Python.( PROSEK- okružno takmičenje za 8.razred 2017.godina)
Hvala


#2

Potrebno je “splitovati” (tj. razdvojiti) input. Ukoliko unosimo brojeve a i b, python kod bi bio sledeci:
a,b = input().split()


#3

Kao što je @Tosic rekao, potrebno je splitovati input, i ukoliko su integer-i u pitanju, potrebno je to nagovestiti programu, jer kad bismo stavili samo a, b = input().split() , očitavao bi se string, i kada bismo nakon toga stavili: print(a + b) za neke unete brojeve a = 5 i b = 10, dobili bismo ispis: 510 (Python je samo spojio 5 i 10, jer su to stringovi).
U takvim situacijama inače koristim:

a, b = map(int, input().split()) // Unos: 5 10
print(a + b) // Ispis: 15

A savetujem ti da pogledaš programski jezik C++, kod koga je ovo mnogo jednostavnije, a i brži je pre svega.


Program problem Python
#4

U ovom zadatku se trazi da se u jednom redu Pajton koda, unese najpre integer pa zatim float. Da li postoji neka fora sa splitom za ovo?


#5

Slicno kao i prethodni odgovori, mozemo koristiti split da razdvojimo podatke (u dva stringa) i zatim ih jedan po jedan pretvorimo u odgovarajuce numericke tipove:

a_str, b_str = input().split()  # a_str i b_str su stringovi
a = int(a_str)    # string -> int
b = float(b_str)  # string -> float

#6

Hvala puno. Sad mi je jasno.