2013-04-06 3 views
1

Приносим извинения за мои предыдущие вопросы, поскольку они были расплывчатыми и трудными для ответа. Я до сих пор довольно новичок в программировании и все еще изучаю все это. Поэтому, пожалуйста, медведь со мной. Теперь в справочную информацию. Я использую python 3.3.0. Я загрузил его в Eclipse IDE, и это то, что я использую, чтобы написать код и протестировать его.Использование словаря, код практики

Теперь на вопрос: Я пытаюсь научиться создавать и использовать словари. Таким образом, мое назначение - создать код соответствия цены, который через пользовательский интерфейс будет не только доступен для поиска через словарь для элементов (которые являются ключами, а также местоположениями и ценами, которые являются значениями, связанными с ключами). До сих пор Я создал пользовательский интерфейс, который будет работать достаточно хорошо без каких-либо ошибок (хотя бы в среде IDE). Когда я запускаю и вводю все запросы, пустой словарь не обновляется, и поэтому я не могу сделать вызов в словарь для более раннего ввода.

У меня есть код, который я написал ниже, и хотел бы, чтобы кто-нибудь мог сказать мне, правильно ли я делаю что-то. И если есть какие-то лучшие способы обойти это. Я все еще участвую в том, что более подробные объяснения вокруг кодового жаргона были бы полезны.

print("let's Price match") 
decition = input("Are you adding to the price match list?") 
if decition == "yes": 
    pricematchlist = {"Snapple":["Tops",99]} 
    location = input("Now tell me where you shopped") 
    item = input("Now what was the item") 
    price = input("Now how much was the item") 
    int(price) 
    pricematchlist[item]=location,price 
    print(pricematchlist) 
else: 
    pricematchlist = {"Snapple":["Tops",99]} 
    reply = input("Ok so you want to search up a previous price?") 
    if reply == "yes": 
     search = input("What was the item?") 
     pricematchlist.item(search) 
+0

Этот вопрос, как написано, лучше подходит для проверки кода. Если у вас есть конкретная проблемная область, укажите это, и мы сможем помочь. – ecline6

+1

Пожалуйста, задайте один вопрос, а не две совершенно разные вещи. Если вам нужна помощь в работе вашего словаря, попробуйте написать короткий рабочий пример, который воспроизводит проблему. Если вам нужна обратная связь по ** рабочему ** (!) Коду, [codereview.SE] действительно правильное место, но это, похоже, не так. – Adam

ответ

2

Это несколько незначительных изменений. Для словарей: вы используете их правильно.

print("let's Price match") 
pricemathlist = {"Snapple":["Tops", 99]} # assign it here 
decition = input("Are you adding to the price match list?").lower() #"Yes"-->"yes" 
if decition == "yes": 
    # pricematchlist = {"Snapple":["Tops",99]} 
    # If this whole code block is called repeatedly, you don't want to reassign it 
    location = input("Now tell me where you shopped") 
    item = input("Now what was the item") 
    price = int(input("Now how much was the item")) 
    # int(price) does nothing with reassigning price 
    pricematchlist[item]=location,price 
    print(pricematchlist) 
else:  
    reply = input("Ok so you want to search up a previous price?").lower() 
    if reply == "yes": 
     search = input("What was the item?") 
     print pricematchlist[search] # easier way of accessing a value 
+0

Спасибо, что это помогает. Но быстрый вопрос. Как заставить программу фактически добавлять через только пользовательский интерфейс новое значение. Скажем, я поехал в Уолмарт и получил горную росу, как 98 центов. Поэтому я обращаюсь к программе и добавляю в нее пункт и цену. Как он будет добавлять новый ключ, а также значения в словарь. Также любым способом я могу добавить символ доллара к деньгам. Пожалуйста и спасибо. – Codenovice

+0

Чтобы использовать знак доллара, вам нужно сделать число в строку. Чтобы создать новый ключ, пара значений: 'pricematchlist ['Mountain Dew'] = '$ 0.98''. –

Смежные вопросы