while循环在python问题

stg*_*rge 0 python loops while-loop

我几周前开始学习python(之前没有编程知识),并且遇到了我不理解的以下问题.这是代码:

def run():
    count = 1
    while count<11:
        return count
        count=count+1

print run()
Run Code Online (Sandbox Code Playgroud)

令我困惑的是为什么打印这个功能导致:1?不应该打印:10?

我不想列出从1到10的值列表(只是为了让自己清楚),所以我不想附加值.我只是想增加我的计数值,直到它达到10.

我究竟做错了什么?

谢谢.

voi*_*hos 5

你在while循环中做的第一件事是返回当前值count,恰好是1.循环从未实际运行超过第一次迭代.Python是缩进敏感的(我所知道的所有语言都是对顺序敏感的).

循环return后移动你的while.

def run():
    count = 1
    while count<11:
        count=count+1
    return count
Run Code Online (Sandbox Code Playgroud)