【发布时间】:2022-01-16 18:06:13
【问题描述】:
user_input = input("Press [A] or type 1").lower()
if user_input ???:
user_input = int(user_input)
elif user_input == "a":
...
我想检查用户输入是否为数字,然后将该数字转换为整数。我在尝试寻找解决方案时只能在互联网上找到 .isdigit() 方法,但在这种情况下它对我不起作用。
完整代码:
print("TODO-LISTE")
print("Wilkommen in der TODO liste was möchtest du machen ?")
todo = []
machen = ""
while machen != "b":
xp = 0
laenge = len(todo)
machen = input(
"Möchtest du die Liste [A]nzeigen, etwas zur Liste [H]inzufügen, ein Element der Liste [L]öschen oder [B]eenden? ").lower()
if machen == "h":
dazu_machen = input("Was möchtest du hinzufügen? ")
todo.append(dazu_machen)
print(f"Du hast {dazu_machen} hinzugefügt!")
elif machen == "a":
laenge = len(todo)
print(f"du hast {laenge} elemente in deiner Liste:")
for x in todo:
print(f"-{x}")
elif machen == "l":
while laenge != xp:
elemente = todo[xp]
print(f"[{xp}] -{elemente}")
xp = xp + 1
weg_machen = input(
"Welches element möchtest du Löschen oder möchtest du [A]brechen? ").lower
if weg_machen.isdigit():
weg_machen = int(weg_machen)
todo.pop(weg_machen)
print(f"es wurde erfolgreich gelöscht!")
elif weg_machen == "a":
print("Erfolgreich abgerbrochen")
else:
print("Unbekannte eingabe")
else:
print("Unbekannte eingabe")
print("bye")
【问题讨论】:
-
为什么它对你不起作用?您面临的确切问题是什么?
'1'.isdigit()将返回True,而任何非数字数字将返回False。 -
我收到此错误 AttributeError: 'builtin_function_or_method' object has no attribute 'isdigit'
-
它似乎用
.isdigit()替换`???`会做你想要的(它对我有用)。您应该发布重现该错误的完整代码。这可能是其他地方的错误。 -
那你用错了,请贴出实际的报错代码。 注意:
.isdigit是一个 string 方法。 -
@S3DEV 非常感谢
标签: python string input integer