Как мне читать из словаря, и что бы ни вводил в него словарь, он умножается на переменную с именем total? - PullRequest
1 голос
/ 23 мая 2019

Это мой первый день работы с питоном, я уже некоторое время думаю об этом.

У меня есть словарь, который содержит три значения: «Люкс», «Стандарт» и «Эконом».У них есть ключ цены за квадратный метр, и мне было интересно, как я могу сделать так, чтобы, когда пользователь выбирает одно из выбранных значений, он затем умножал общую сумму (собранную из другого кода) с этим ключом.Мне нужно сохранить часть .capitalize для проверки пользователя.

Спасибо, ребята!

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

paints = {
"Luxury" : 1.75,
"Standard": 1.00,
"Economy": 0.80,
}
while True:
    paintType = input("What type of paint would you like to  use? \n Luxury \n Standard \n Economy" "\n ")
    paintType.capitalize()
    if user_input.capitalize() in paints
        break

Ответы [ 4 ]

0 голосов
/ 23 мая 2019

Попробуйте что-то вроде этого:

paint_types = {
"Luxury" : 1.75,
"Standard": 1.00,
"Economy": 0.80,
}

while True:
    user_input = input("What type of paint would you like to  use? \n Luxury \n Standard \n Economy" "\n ")
    user_input = user_input.capitalize()

    if user_input in paint_types:
        total = total * paint_types[user_input]
        break
0 голосов
/ 23 мая 2019

String - это то, что мы называем неизменным объектом, что в более простых терминах означает, что его нельзя изменить на месте, и оно дает вам новую строку всякий раз, когда вы выполняете такую ​​операцию, как capitalize, поэтому мы назначим значение paintType.capitalize() для новой переменной.

Затем мы можем использовать эту переменную в условии if, чтобы проверить, присутствует ли ввод в ключах словаря paints, что мы делаем, например, в условии if if paintType.capitalize() in paints, и затем вы можете выполнить умножение

paints = {
"Luxury" : 1.75,
"Standard": 1.00,
"Economy": 0.80,
}
while True:
    paintType = input("What type of paint would you like to  use? \n Luxury \n Standard \n Economy" "\n ")

    #Assign return value of capitalize to user_input variable
    user_input = paintType.capitalize()

    #Check for input being in the keys and if present multiply with total
    if user_input in paints:
        result = paints[user_input] * total
0 голосов
/ 23 мая 2019

Ну, вы должны проверить, совпадает ли ввод пользователя с одним из ваших словарных ключей. Если это так, вы можете сохранить соответствующее значение для последующего пользователя

if paintType.capitalize() in paints.keys()
        value = paints[paintType.capitalize()]
        break
0 голосов
/ 23 мая 2019

Вы можете получить значение словаря, используя:

price = paints[user_input]
...