2017-12-05 1 views
1

사용자가 입력 한 숫자의 값을 두 배로 표시하고 싶습니다.float 또는 int로 입력

spam = int(input('choose any number: ')) 
print('Your number doubled is: ' + str(spam*2)) 

사용자가 10 진수 (예 : 3.4)를 입력하면 문제가 발생합니다. float 값이되므로 오류가 발생합니다.

Traceback (most recent call last): 
    File "<pyshell#66>", line 1, in <module> 
    spam = int(input('choose any number: ')) 
ValueError: invalid literal for int() with base 10: '3.4' 

사용자가 임의의 숫자 (정수 또는 실수 값)를 입력하게하는 간단한 방법이 있습니까?

이것은 파이썬 3이므로 raw_input이 작동하지 않습니다.

+3

'int' 대신'float'을 사용합니까? –

답변

1

당신은 float 사용할 수 있습니다

spam = float(input('choose any number: ')) 
print('Your number doubled is: ' + str(spam*2)) 
+0

감사합니다! 어떤 이유로 나는 float (input())가 interger를 허용하지 않을 것이라고 생각했다 : / –

0

이를 수행

spam = input('choose any number: ') 

try: 
     print('Your number doubled is: ' ,int(spam)*2) 


except ValueError: 
     print('Your number doubled is: ' ,float(spam)*2) 

이 작동하는 방법은 정수로 변환 할 것입니다, 그 작동하지 않는 경우 것 그것을 부유물로 바꾸십시오.

관련 문제