(Вопрос для начинающих) Почему моя форматированная строка не работает должным образом? - PullRequest
2 голосов
/ 25 апреля 2019

Я использую программное обеспечение Vs Code для отработки своих навыков кодирования. Я пытаюсь получить результаты «Да», если оба входа выше 100 (Доход) и 70 (Кредитный рейтинг). Кажется, это беспокоит только диапазон кредитных баллов, а не доход. Таким образом, независимо от того, насколько велик или низок доход, он дает результаты только на основе ввода Кредитного рейтинга. Кто-нибудь может указать на какие-либо ошибки в моем коде? Также нет ошибок синтаксиса, предупреждающих меня о чем-то не так. Кто-нибудь может понять это?

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

customer_income = input("Annual Salary: ")
customer_credit = input("Credit Score?: ")

good_income = customer_income >= "100"
good_credit = customer_credit >= "70"

message = "Yes" if good_income and good_credit else "No"

print(message)

Я пытаюсь получить результаты «Да», если оба входа выше 100 (Доход) и 70 (Кредитный рейтинг). Результаты игнорируют входной доход и фокусируются только на кредитном балле. Но также вернет «Нет», если кредитный рейтинг выше 99.

Ответы [ 3 ]

1 голос
/ 25 апреля 2019

О, я вижу, вы должны преобразовать его в int, если вы используете input:

customer_income = input("Annual Salary: ")
customer_credit = input("Credit Score?: ")

good_income = int(customer_income) >= 100
good_credit = int(customer_credit) >= 70

message = "Yes" if good_income and good_credit else "No"

print(message)

Выход с 99 и 70 равен no, ис 100 и 70 равно yes

0 голосов
/ 25 апреля 2019

Вы пытаетесь сравнить строки, в то время как вы на самом деле ожидаете сравнить int s, представленные этими строками.

Следовательно, вам необходимо проанализировать эти строки до и int с помощью функции int():

customer_income = input("Annual Salary: ")
customer_credit = input("Credit Score?: ")

good_income = int(customer_income) >= "100"
good_credit = int(customer_credit) >= "70"

message = "Yes" if good_income and good_credit else "No"

print(message)
0 голосов
/ 25 апреля 2019

Вы пытаетесь сравнить строки, но не целые числа.Он будет работать, но сравнение основано на порядке ASCII.

while True:
    customer_income = input("Annual Salary: ")
    try:
        good_income = int(customer_income) >= 100
        break
    except ValueError:
        print('Please type a number.')

while True:
    customer_credit = input("Credit Score?: ")
    try:
        good_credit = int(customer_credit) >= 70
        break
    except ValueError:
        print('Please type a number.')

message = "Yes" if good_income and good_credit else "No"

print(message)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...