Я учусь программировать самостоятельно, и этот код не печатается "правильно" - PullRequest
2 голосов
/ 19 марта 2020

Я хочу, чтобы пользователь поставил два числа и поставил правильный ответ, а программное обеспечение напечатало правильно, если у него был правильный ответ, но он продолжает печатать wrong

x = input("num1: ")
y = input("num2: ")
z = input ("num1 + num2: ")

results = float(x) + float(y)
if z == results:
    print("correct")
else :
    print("wrong")

1 Ответ

4 голосов
/ 19 марта 2020

input возвращает str тип.
float(x) и float(y) предназначены для преобразования str в float.
Так что вам нужно то же самое для z.

Сравнение str и float всегда приводит к False (в данном примере '3.0' != 3.0).

x = input("num1: ")
y = input("num2: ")
z = float(input("num1 + num2: "))

results = float(x) + float(y)
if z == results:
    print("correct")
else:
    print("wrong")

вывод:

num1: 1
num2: 2
num1 + num2: 3
correct
...