Jestem nowy w Pythonie i próbuję wziąć kilka wyzwań kodujących, aby poprawić moje umiejętności. Mam zamiar podjąć dane wejściowe:
2
3 1
4 3
Po pierwsze, dostaję wiele przypadków testowych. (2 tutaj), a następnie na podstawie tego, mam podać liczbę przypadków testowych, które są 2 liczbami całkowitymi. 1. jest zasięgiem, a drugi to numer do wyszukiwania w zakresie.
..
Jaki jest prawidłowy, Pyttyczny sposób uzyskania wejścia. Myślałem tak, ale to oczywiście incorrect
num_testcases = int(raw_input())
for i in num_testcases:
range_limit = int(raw_input())
num_to_find = int(raw_input())
2 odpowiedzi
raw_input()
będzie czytać jedną linię na raz od STDIN, więc wewnątrz pętli musisz użyć str.split()
, aby uzyskać wartość range_limit
i num_to_find
. Po drugie, nie możesz iterować się na całkowitej liczbie całkowitej ({x4}}), więc trzeba użyć xrange()
(Python 2) lub {x6}} (Python 3):
num_testcases = int(raw_input())
for i in xrange(num_testcases): #considering we are using Python 2
range_limit, num_to_find = map(int, raw_input().split())
#do something with the first input here
Demo:
>>> line = '3 1'
>>> line.split()
['3', '1']
>>> map(int, line.split())
[3, 1]
Zauważ, że w Pythonie 3 będziesz musiał użyć input()
zamiast raw_input()
i range()
zamiast xrange()
. range()
będzie działać zarówno w Pythonie 2, jak i 3, ale zwróci listę w Pythonie 2, więc zaleca się używanie xrange()
.
Użyj for i in range(num_testcases):
zamiast for i in num_testcases
. Spójrz na range
(lub xrange
w Pythonie 2). range(a)
wytwarza iterable z 0
do a - 1
, więc kod zostanie nazwany żądaną liczbą razy.
Również raw_input
i raw_input
należy wziąć wejście na napotkanie nowej linii, co oznacza, że w range_limit = int(raw_input())
raw_input
zwraca "3 1"
, które nie możesz po prostu przekonwertować na { {X5}}. Zamiast tego chcesz Split ciąg za pomocą string.split
, a następnie przekonwertuj poszczególne elementy:
num_testcases = int(raw_input())
for i in range(num_testcases):
range_limit, num_to_find = [int(x) for x in raw_input().split()]
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.