Невозможно изменить значение переменной в python, оператор if - PullRequest
0 голосов
/ 08 марта 2020

У меня очень простой скрипт, цель в том, что если кто-то введет число от 40 до 49 для raw_input, значение ageRisk должно измениться от 0 до 0,004

age = raw_input("Enter your age: ")

ageRisk = 0

if age >= 40 and age < 50:
    ageRisk = 0.004

print ageRisk

Однако, когда я запустите этот скрипт, введя 44 для raw_input, значение для ageRisk останется равным 0. Почему это?

Ответы [ 4 ]

2 голосов
/ 08 марта 2020

Ваш raw_input принимает число в виде строки. чтобы решить эту проблему, преобразуйте входные данные в целое число.

age = int(input("Enter your age: "))
2 голосов
/ 08 марта 2020

Попробуйте изменить это:

age = raw_input("Enter your age: ")

на:

age = int(raw_input("Enter your age: "))

По умолчанию для ввода используется обработка всего как строки и, если не преобразовано, ваша логическая схема не видит числовое значение, необходимое для переназначения значений.

2 голосов
/ 08 марта 2020

Это потому, что вводимые пользователем данные являются строкой . Чтобы это исправить, измените строку age = raw_input("Enter your age: ") на age = int(raw_input("Enter your age: "))

1 голос
/ 08 марта 2020

В Python 2, raw_input() возвращает string, а не целое число.

Вам нужно обернуть raw_input() в вызов int(), чтобы преобразовать его.

int(raw_input()) принимает пользовательский ввод и возвращает целое число (если оно было введено).

...