2015-11-17 8 views
-7

Это задача Python в моем вычислительном классе. Мой учитель не может понять ответ, и я самый дальний в классе, поэтому никто не знает, что делать. Я пробовал все, что мог придумать.Значение - число с плавающей запятой python 3

Write a program that checks that the value entered is a floating point number. 
Check the program works by entering an integer to see if an error is raised. 
If a float is entered it should output the number. 

Это должно быть сделано в Python 3.4.3

num=input("Enter a number") 
if num = float: 
    print("This is a float") 
else: 
    print("This is not a float") 

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

+2

Пожалуйста, покажите нам, что вы уже пробовали хотя - это облегчает ответ на вопрос надлежащим образом. –

ответ

3

Вы можете справиться с этим через несколько исключений, опираясь на тот факт, что неудачная конверсия поднимает ValueError:

input_value = input("> ") 
try: 
    int_value = int(input_value) 
    print("invalid input: value was an int!") 
except ValueError: 
    try: 
     float_value = float(input_value) 
     print(float_value) # just echo 
    except ValueError as e: 
     print("invalid input: ", " ".join(e.args)) 

(Python 3 внутри)

+0

Это сложнее, чем требуется OP, он просто хочет узнать, плавает ли он (нет необходимости проверять int), но идея идеальная –

Смежные вопросы