因此,我试图写一个简单的代码,将为我做毕达哥拉斯定理后,我输入了a,B和C,但代码是跳过我的While语句,我试图重写他们,如果语句,看看是否工作,它会跳过它,我需要一些帮助,请和谢谢你顺便说一句,我意识到在图片中,我的While循环是开放的,没有结束它们的东西,但我确实有一次在那里,但当我改为If语句时,我把它们去掉了。My Code I cant seem to understand
input([prompt])
If the prompt argument is present, it is written to standard output
without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised.
正如python文档所指出的,input函数返回一个字符串:
如果您不知道这一点,并且希望进行调试和解决,那么可以执行类似于
print(type(Yes_No))
的操作,您可以看到它是一个字符串类型,因此当您计算这个表达式:while Yes_No == 1
时,它将返回false。你知道吗因此,这种情况下的解决方法是将输入行更改为
使用
input()
时,输入以字符串形式出现,在while
循环中,您将条件设置为等于1(作为整数)。你知道吗解决办法是:
当您从用户获取
input()
时,它将作为字符串返回。假设用户输入1
,它将被存储为"1" # which is a string
。现在当你比较Yes_No == 1
时,它返回False
,因为"1" == 1
是False
。你知道吗因此,您需要将其解析(转换)为一个数字(整数),这可以通过将字符串传递给
int()
函数来完成。它将返回该字符串的整数表示形式。对所有的输入做同样的操作,你的问题就会得到解决!你知道吗代码的另一个问题是没有更新任何
while
循环中的Yes_No
值。这意味着它将导致无限循环,它将继续执行while循环,因为一旦条件变成True
,它就不会变成False
,因为Yes_No
的值没有更新。你知道吗相关问题 更多 >
编程相关推荐