Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:ValueError除外,仅适用于字符串。_Python_Except - Fatal编程技术网

Python:ValueError除外,仅适用于字符串。

Python:ValueError除外,仅适用于字符串。,python,except,Python,Except,在Python3.3中,是否有一种方法可以只对字符串执行ValueError之外的操作?如果我将字符串键入k,我希望打印“不能将字符串转换为浮点”,而不是“不能取负数的平方根” 如果希望根据异常的来源处理不同的异常,最好将可能引发异常的不同代码部分分开。然后,您可以在引发异常的相应语句周围放置一个try/except块,例如: while True: try: k = float(input("Number? ")) except ValueError:

在Python3.3中,是否有一种方法可以只对字符串执行ValueError之外的操作?如果我将字符串键入k,我希望打印“不能将字符串转换为浮点”,而不是“不能取负数的平方根”


如果希望根据异常的来源处理不同的异常,最好将可能引发异常的不同代码部分分开。然后,您可以在引发异常的相应语句周围放置一个try/except块,例如:

while True:
    try:
        k = float(input("Number? "))
    except ValueError:
        print ("Could not convert string to float")
        break
    try:
        s = math.sqrt(k)
    except ValueError:
        print ("Cannot take the square root of a negative number")
        break

如果希望根据异常的来源处理不同的异常,最好将可能引发异常的不同代码部分分开。然后,您可以在引发异常的相应语句周围放置一个try/except块,例如:

while True:
    try:
        k = float(input("Number? "))
    except ValueError:
        print ("Could not convert string to float")
        break
    try:
        s = math.sqrt(k)
    except ValueError:
        print ("Cannot take the square root of a negative number")
        break

简单,只需删除除ValueError之外的其他

如果你想检查数字是否为负数,只要。。检查是否为阴性:

if k < 0:
   print("Number is negative!")
如果k<0:
打印(“数字为负数!”)

简单,只需删除除ValueError之外的其他

如果你想检查数字是否为负数,只要。。检查是否为阴性:

if k < 0:
   print("Number is negative!")
如果k<0:
打印(“数字为负数!”)

为什么除了
ValueError
之外还有2?代码中的任何地方都没有平方根,那么为什么除了ValueError
之外还有第一个
呢?我是Python初学者,所以我可能没有正确地做这件事。我需要打印两条单独的消息,一条用于负数,另一条用于字符串。有一个例外,我不知道怎么做。你也可以只打印例外。对于字符串,您会得到
ValueError:count未将字符串转换为float:'fdsdfsd'
。对于一个负数,你会得到
ValueError:math domain error
。为什么除了
ValueError
,你有2个?你没有在代码中的任何地方取平方根,那么为什么除了ValueError
之外的第一个
就在那里呢?我是Python的初学者,所以我可能没有正确地做到这一点。我需要打印两条单独的消息,一条用于负数,另一条用于字符串。有一个例外,我不知道怎么做。你也可以只打印例外。对于字符串,您会得到
ValueError:count未将字符串转换为float:'fdsdfsd'
。对于负数,您将得到
ValueError:math domain error
。非常感谢。正是我需要的。非常感谢。正是我需要的。
    except ValueError:
        print ("Could not convert string to float")
        break
if k < 0:
   print("Number is negative!")