2016-02-03 26 views
0

我想在使用python的新行上輸入整數,但是當我這樣做時出現錯誤。如何在一個新行上輸入一個整數

#inputs myMath as an integer 
print = ("Give me a number and I will double it for you.") 
myMath = int(input + "\n") 

#Multiplies myMath(the variable) times 2 
result = eval("2 * myMath") 

錯誤說 「類型錯誤:不支持的操作數類型(S)爲+: 'builtin_function_or_method' 和 '海峽'」 我使用Python 3.5.1。

+0

請不要使用'eval'與不受信任的輸入。如果您確實需要接受「任何舊的Python文字」,請使用['ast.literal_eval'](https://docs.python.org/3/library/ast.html#ast.literal_eval)解析輸入,然後在「真正的」(非''eval'-ed)Python中執行數學運算。例如'myMath = ast.literal_eval(myMath)','result = 2 * myMath'。如果你不需要「任何舊的Python文字」,那麼堅持實際的解析字符串的構造函數,例如'int','float'等 – ShadowRanger

回答

1

這裏是你想要的東西:

yourVal = int(input("Double a number:\n")) 
result = yourVal*2 
print(result) 
相關問題