如果输入一无所有或负数python认为它是一个字符串

发布于 2025-01-28 03:32:32 字数 1393 浏览 1 评论 0原文

如果您需要,这是我的完整代码: (打印内容是德语),

import random
import time

n = 0
guess = 0
tries = 0

print("###Zahlen erraten###")
time.sleep(2)
print("")
time.sleep(1)


while True:
    n = input("Grenze eingeben: ")
    if n.isdigit():
        break

n = int(n)

Number = random.randint(0,n)
print(Number)
print(type(Number))

while True:
    guess = input("Zahl erraten: ")
    if guess.isdigit():
        guess = int(guess)
        print(type(guess))
        while guess == None or guess < 0:
            guess = input("Neue eingabe: ")
            if guess.isdigit():
                guess = int(guess)
                print(type(guess))


    if guess == Number:
        tries += 1
        break
    elif guess < Number:
        print("Die gesuchte Zahl ist größer!")
        tries += 1
        pass
    elif guess > Number:
        print("Die gesuchte Zahl ist kleiner")
        tries += 1
        pass


print("Gut gemacht! Die gesuchte Zahl ist "+ str(Number) + ". ")
print("Anzahl an versuchen: "+str(tries))

这是错误消息,如果我输入负数,或者在变量“猜测”中没有任何内容,

Traceback (most recent call last):
  File "C:\Users\micha\PycharmProjects\NumberGuesser\NumberGuesser.py", line 40, in <module>
    elif guess < Number:
TypeError: '<' not supported between instances of 'str' and 'int'

则该问题在第40行中,Elif Guess&lt;数字:如果有人可以帮助我解决这个问题,我会很感激。

here is my complete code if you need it:
(the print contents are german)

import random
import time

n = 0
guess = 0
tries = 0

print("###Zahlen erraten###")
time.sleep(2)
print("")
time.sleep(1)


while True:
    n = input("Grenze eingeben: ")
    if n.isdigit():
        break

n = int(n)

Number = random.randint(0,n)
print(Number)
print(type(Number))

while True:
    guess = input("Zahl erraten: ")
    if guess.isdigit():
        guess = int(guess)
        print(type(guess))
        while guess == None or guess < 0:
            guess = input("Neue eingabe: ")
            if guess.isdigit():
                guess = int(guess)
                print(type(guess))


    if guess == Number:
        tries += 1
        break
    elif guess < Number:
        print("Die gesuchte Zahl ist größer!")
        tries += 1
        pass
    elif guess > Number:
        print("Die gesuchte Zahl ist kleiner")
        tries += 1
        pass


print("Gut gemacht! Die gesuchte Zahl ist "+ str(Number) + ". ")
print("Anzahl an versuchen: "+str(tries))

this is the error message if I type in a negative number or nothing in the variable "guess",

Traceback (most recent call last):
  File "C:\Users\micha\PycharmProjects\NumberGuesser\NumberGuesser.py", line 40, in <module>
    elif guess < Number:
TypeError: '<' not supported between instances of 'str' and 'int'

the problem is in line 40,elif guess < Number: .I would appreciate it if someone could help me resolve this problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文