2017-06-12 40 views
2

我是一个编程和这样的新手。我买了一本关于python的书,并从中学习了python。但现在,我很困惑这个脚本 Python的2.7好像它是不是错误 但是当我运行它CMD它显示的错误是这样的:在python上需要关于except-try-else的帮助

Traceback (most recent call last): 
    File "E:\bahasa mesin\eksepsi.py", line 18, in <module> 
    main() 

File "E:\bahasa mesin\eksepsi.py", line 6, in main 

a = float(raw_input("masukkan a: 13.0")) 

ValueError: could not convert string to float: 

enter image description here

对不起因为我的英语和态度不好

我希望有人能帮我修复脚本。

+1

你实际上并没有向输入传递任何东西,所以'raw_input'返回一个空字符串,'float'拒绝。我认为你打算在'13.0'中输入,不能使其成为提示的一部分。 –

+0

哦,我明白了..谢谢@ juanpa.arrivillaga –

回答

-1

字符串是字符或符号。举个简单的例子,你的名字'aku firman'就是一个字符串。 公告''报价。

但你的年龄可以是一个整数。说20岁是你的年龄。

n = 20含义n是整数

但是,引号之间给出的任何内容都可以视为字符串。

即n = '20'或n =“20”(甚至可以使用双引号) 这里n是一个字符串。在此阅读有关字符串的更多信息Strings explained

另外,raw_input会向用户提示提示,以获取用户的输入并返回用户输入的字符串中的数据。请参阅该文档为raw_input

a = float(raw_input("masukkan a: 13.0")) 

在这里,你不输入值13.0浮动()函数,而你等待用户对显示的提示输入您的东西作为cmdmasukkan a: 13.0

所以,如果你想从用户获得输入并将其转换为浮动。

例如尝试这种在Python解释:

为了避免混淆,我会单独的你有什么类型的解释,从它的相应解释的输出,因为你是一个新手

x=float(raw_input("masukkan a: 13.0\n"))     
y=float(raw_input("masukkan b: 4.0\n")) 
x/y 

随着输出:

>>>x=float(raw_input("masukkan a: 13.0\n")) 
masukkan a: 13.0 
13     
>>>y=float(raw_input("masukkan b: 4.0\n")) 
masukkan b: 4.0 
4 
>>>x/y 
3.25 

但这

>>>x=float(raw_input("masukkan a: \n")) 
masukkan a: 
13     
>>>y=float(raw_input("masukkan b:\n")) 
masukkan b: 
4 
>>>x/y 
3.25 

查看提示如何更改。你明白了吗?

此外,\n使您可以在换行符中输入输入日期。

+0

为什么你仍然在raw_input字符串中有13.0和4.0?这不是用户输入的吗? – SH7890

+0

保持这一点,以帮助他更清楚地理解它。但是他指出它会感到困惑。 – void

+1

谢谢@s_vishnu 它真的有帮助 –

0

它看起来像你给raw_input没有输入。所以没有输入转换为浮点数失败。它看起来像你想通过13.0和4.0。试试这个:

def main(): 
    print("Your Text Here") 
    a = float(raw_input("Enter a: ")) #if using python 3, use input() 
    b = float(raw_input("Enter b: ")) 
    try: 
     hasil = a/b 
    except ZeroDivisionError: 
     print("ERROR") 
    else: 
     print("a: ", a) ##print() ends it with a new line so \n is redundant 
     print("b: ", b)    #unless you want an extra line. 
     print("a/b = ", hasil) 
if __name__ == "__main__": 
    main() 

然后当你运行它时,当提示输入你想要的a;即13.0或任何其他值,并且操作将起作用。