Спойлер Это связано с 30-дневным кодом Хеккерранда. Я использую python 2.Установка цикла while в python для получения неизвестного числа переменных
У меня возникли проблемы с определением части 8-го дня (словарей и карт). В основном, они хотят передать вам x количество имен и номеров, чтобы вы могли создавать словарь. Впоследствии они подают вам n количество запросов, поэтому вы можете позвонить им в телефонной книге, если они там, или напечатать «не найден», если в противном случае. Но n - неизвестное число, поэтому почему я потерян. Постановка задачи here в случае, если кто заинтересован ...
В любом случае, я прохожу тест, Prelim с моим кодом, но только один из фактических 7 случаев, потому что я понятия не имею, что диапазон положить в мой «а» петли (так что я поставил что-то вроде 1000.) У меня такое чувство, что мне нужно будет использовать что-то вроде * args, но я понятия не имею, как его вставить. Может ли кто-нибудь указать мне в правильном направлении, пожалуйста? Заранее спасибо!
Код:
t = int(raw_input())
phonebook = {}
for x in range(t):
entry,num = raw_input().strip().split(' ')
entry,num = [str(entry),int(num)]
phonebook[entry] = num
i = 0
while i < unknown_range: <---- problem here
name = str(raw_input())
if name in phonebook.keys():
string = name +'='+ str(phonebook[name])
print(string)
i += 1
else:
print("Not found")
i += 1
Я не вижу, почему вы должны знать, сколько запросов есть. Просто продолжайте идти до конца. –
Вам не нужно использовать 'str' на' raw_input', так как он всегда возвращает строку. – Barmar
Инструкции говорят: «Продолжайте чтение строк до тех пор, пока не будет больше ввода» _, что означает чтение из файла. Но вы читаете stdin, поэтому вход обычно не заканчивается. Хит 'ctrl + D', чтобы эмулировать попадание в конец файла, и поймать полученный' EOFError' – Eric