Я быстро разработал программу бюджетирования, чтобы определить, сколько времени потребуется, чтобы купить что-то, и у меня возникла проблема. Всякий раз, когда я пытаюсь запустить его, единовременные элементы продаж не добавляются к балансу. Мой код выглядит следующим образом:
graphicsCard = 50
amdCpu = 80
itelCpu = 99
ram = 140
guitar = 199
case = 99
balance = 21
if (input('Has the graphics card been sold yet?').lower == "yes"):
balance += graphicsCard
if (input('Has the AMD cpu been sold yet?').lower == "yes"):
balance += amdCpu
if (input('Has the intel CPU been sold yet?').lower == "yes"):
balance += intelCpu
if (input('Has the RAM been sold yet?').lower == "yes"):
balance += ram
if (input('Has the Guitar been sold yet?').lower == "yes"):
balance += guitar
if (input('Has the Case been sold yet?').lower == "yes"):
balance += case
Я добавил выражение else после первого, если, чтобы определить, правильно ли он читал мой ответ "да", и это не так.
lower
- это метод, вам нужно называть его:
if input('Has the graphics card been sold yet?').lower() == "yes":
Обратите внимание, как я покажу, вам не нужны скобки вокруг самого условия.
Вы должны попробовать.lower()
>>> myinput = input('Enter something: ')
Enter something: yes
>>> myinput.lower
<built-in method lower of str object at 0x7f79b2391068>
>>> myinput.lower()
'yes'