gpt4 book ai didi

python - 如何使用 .isdigit 输入负数?

转载 作者:太空狗 更新时间:2023-10-29 17:01:11 31 4
gpt4 key购买 nike

当我尝试这个的时候

if question.isdigit() is True:

我可以很好地输入数字,这会过滤掉字母/字母数字字符串

例如,当我尝试“s1”和“s”时,它会转到 (else)。

问题是,当我输入负数(如 -1)时,'.isdigit' 将 '-' 符号计为字符串值,但它拒绝了它。我怎样才能使“.isdigit”允许负号“-”?

这是代码。我试过的东西。

while a <=10 + Z:
question = input("What is " + str(n1) + str(op) + str(n2) + "?")
a = a+1

if question.lstrip("-").isdigit() is True:
ans = ops[op](n1, n2)
n1 = random.randint(1,9)
n2 = random.randint(1,9)
op = random.choice(list(ops))

if int(question) is ans:
count = count + 1
Z = Z + 0
print ("Well done")
else:
count = count + 0
Z = Z + 0
print ("WRONG")
else:
count = count + 0
Z = Z + 1
print ("Please type in the number")

最佳答案

使用lstrip:

question.lstrip("-").isdigit()

例子:

>>>'-6'.lstrip('-')
'6'
>>>'-6'.lstrip('-').isdigit()
True

如果您想将 +6 视为有效数字,您可以使用 lstrip('+-')

但我不会使用isdigit,你可以试试int(question),如果值不能表示为int,它会抛出异常:

try:
int(question)
except ValueError:
# not int

关于python - 如何使用 .isdigit 输入负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279732/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com