我正在尝试学习如何编写循环,但它似乎没有打印到控制台
Posted
技术标签:
【中文标题】我正在尝试学习如何编写循环,但它似乎没有打印到控制台【英文标题】:I'm trying to learn how to write a loop but it doesn't seem to print to the console 【发布时间】:2018-11-06 12:19:05 【问题描述】:我正在练习 Python,我正在尝试编写一个循环,但是当我运行它时它不会打印出来。我通过 jupyter notebook 使用 Python 2.7。当我运行代码时,它所做的只是启动另一个内核,但不打印任何内容。
def main():
x = 0
while (x < 5):
print (x)
x = x + 1
【问题讨论】:
你试过像main()
这样调用函数吗?
删除“def main():”并再次运行
添加一个单元格并调用 main() 作为coldspeed提到的
def main(): x = 0 while (x
另见***.com/q/4041238
【参考方案1】:
你已经定义了函数,但现在你必须告诉 Python 运行它!
你需要做的就是调用它,像这样:
def main():
x = 0
while (x < 5):
print (x)
x = x + 1
main() #This is calling a function
此外,您可能希望将您的 x = x + 1
行更改为 x += 1
。它们是等价的,但这样更简洁,而且您不必输入两次变量。
在 jupyter notebook 中(或者在 cmd 的交互模式下),你也可以在按下 shift + enter 并再次调用 main() 之后执行此操作。
【讨论】:
谢谢,它可以运行了。但是,我正在观看的视频不必调用该函数。他们留下了我最初拥有的代码。关于为什么会这样的任何想法? 链接视频,也许他们只是跳过了它 这是通过 Lynda 提供的,这是我们当地图书馆的免费课程。我发现他们在我看不到的代码底部定义了。感谢您的所有帮助。【参考方案2】:我猜您曾使用过 C 或其亲属之一,其中程序的入口点是对 main
的调用。在 Python 中不是这样。 Python 像许多脚本语言一样工作,从上到下运行文件,并且您的文件包含一个任务供它执行:def
ine 一个名为 main
的函数。具有这种功能的脚本中的传统是在底部放置一个测试来调用它,允许在导入代码和作为程序运行之间进行选择:
if __name__ == '__main__':
main()
有了这个小结语,您的程序实际上应该运行main
函数。
您的程序中还有一些其他的 C-isms。 Python 在while
或if
测试中不需要括号,我们有一个更方便的for
,它使用迭代器而不是整数进行操作。对于需要整数时,range
很方便:
for x in range(5):
print(x)
如果您运行的是 Python 2,print
是一个不需要括号的语句,但它是 Python 3 中的一个函数,所以我保留了它们。
【讨论】:
【参考方案3】:在您的代码中,您定义了一个函数main()
,但您从未调用它。要解决此问题,请从单元格中删除 def main()
,即只需执行您要运行的代码
x = 0
while (x < 5):
print (x)
x = x + 1
或调用你的函数main()
:
def main():
x = 0
while (x < 5):
print (x)
x = x + 1
main()
【讨论】:
【参考方案4】:删除 main
函数,删除 def main():
并在 while 循环之前指定 x=0
【讨论】:
以上是关于我正在尝试学习如何编写循环,但它似乎没有打印到控制台的主要内容,如果未能解决你的问题,请参考以下文章