如何正确使用 ValueError 函数?
How can I use the ValueError function correctly?
这是我的代码:
from time import sleep
def Kontostand_Berechnen():
if float(Kontostand_Nachfragen) >= float(Preis_Nachfragen):
sleep(1)
print("")
print("Du hast genug Geld!")
print("")
sleep(1)
else:
sleep(1)
print("")
print("Du hast nicht genug Geld!")
print("")
sleep(1)
sleep(1)
print("")
Kontostand_Nachfragen = input("Wie viel Geld hast du?: ")
sleep(2)
print("")
Preis_Nachfragen = input("Wie viel kostet das Produkt?: ")
if ValueError:
print("")
sleep(1)
print("Bitte nur Zahlen eingeben! Kein Text!")
print("")
sleep(1)
else:
Kontostand_Berechnen()
我写这段代码只是为了练习和娱乐。印刷文本为德语。但我不认为这是阻碍。我希望如果用户写的是文本而不是数字,则会收到一条错误消息。但这并不像希望的那样工作。使用此代码,我总是会收到错误消息,即使我写数字也是如此。
(代码肯定不是很懂,我也是最近才开始用Python)
如果您想利用 ValueError
,您需要使用 try
/except
。您将处理 except
块中的错误。一个简化的示例可能如下所示:
while True:
try:
Preis_Nachfragen = float(input("Wie viel kostet das Produkt?: "))
break
except ValueError:
print("Bitte nur Zahlen eingeben! Kein Text!")
print(Preis_Nachfragen)
您收到错误是因为 if else
子句不用于检查错误。这就是为什么 python 有 try except clauses.
按照我在此处的回答 , you might want to take a look into to take a look into try except clause 并检查用户是否将数字作为输入。然后,您将能够处理不是数字的 input
,例如:
try:
your_input = float(input("")) # fill in with input text
except Exception as e:
raise ValueError("") # here you fill in the message you want to give to users
然而,当您执行 float(input("message"))
时,您可以检查是否已经收到带有标准消息的 ValueError
,因此使用上面的代码,您可以编辑该消息(将其放入以德语为例)。
这是我的代码:
from time import sleep
def Kontostand_Berechnen():
if float(Kontostand_Nachfragen) >= float(Preis_Nachfragen):
sleep(1)
print("")
print("Du hast genug Geld!")
print("")
sleep(1)
else:
sleep(1)
print("")
print("Du hast nicht genug Geld!")
print("")
sleep(1)
sleep(1)
print("")
Kontostand_Nachfragen = input("Wie viel Geld hast du?: ")
sleep(2)
print("")
Preis_Nachfragen = input("Wie viel kostet das Produkt?: ")
if ValueError:
print("")
sleep(1)
print("Bitte nur Zahlen eingeben! Kein Text!")
print("")
sleep(1)
else:
Kontostand_Berechnen()
我写这段代码只是为了练习和娱乐。印刷文本为德语。但我不认为这是阻碍。我希望如果用户写的是文本而不是数字,则会收到一条错误消息。但这并不像希望的那样工作。使用此代码,我总是会收到错误消息,即使我写数字也是如此。 (代码肯定不是很懂,我也是最近才开始用Python)
如果您想利用 ValueError
,您需要使用 try
/except
。您将处理 except
块中的错误。一个简化的示例可能如下所示:
while True:
try:
Preis_Nachfragen = float(input("Wie viel kostet das Produkt?: "))
break
except ValueError:
print("Bitte nur Zahlen eingeben! Kein Text!")
print(Preis_Nachfragen)
您收到错误是因为 if else
子句不用于检查错误。这就是为什么 python 有 try except clauses.
按照我在此处的回答 input
,例如:
try:
your_input = float(input("")) # fill in with input text
except Exception as e:
raise ValueError("") # here you fill in the message you want to give to users
然而,当您执行 float(input("message"))
时,您可以检查是否已经收到带有标准消息的 ValueError
,因此使用上面的代码,您可以编辑该消息(将其放入以德语为例)。