Python中带有if/else语句的while循环

4

我仍在学习Python,但是在使用while循环时遇到了困难。以下是一段包含while循环、if语句和else语句的示例代码。我希望它能打印出“小于2”和“大于4”,它确实做到了这一点,但它会不断地运行,而不是只打印一次。如果能得到任何帮助,将不胜感激!

counter = 1
while (counter < 5):
    count = counter
    if count < 2:
        counter = counter + 1
    else:
        print('Less than 2')
    if count > 4:
        counter = counter + 1
    else:
        print('Greater than 4')
    counter = counter + 1 

1
你的计数器被增加到2,之后你只是不断地命中else语句并在无限循环中打印。 - miradulo
1
它不会只打印一次,这正是我想要的。这是中文还是塔马齐格特语? - Billal Begueradj
3
经过你的编辑后,它现在完全按照人们预期的方式工作。在满足条件的每个增量上加1,并且所打印的内容非常合理。 - miradulo
4个回答

9
counter = 1 
while (counter <= 5): 
    if counter < 2:
        print("Less than 2")
    elif counter > 4:
        print("Greater than 4")
    counter += 1

这将实现您想要的功能(如果小于2,则打印此内容等)。

3

我假设您是想在1到4的范围内递增时说“小于2”或“大于4”:

counter = 1
while (counter < 5):
    if counter < 2:
        print('Less than 2')
    elif counter > 4:
        print('Greater than 4')
    else:
        print('Something else') # You can use 'pass' if you don't want to print anything here
    counter += 1

该程序永远不会显示“大于4”,因为您的while条件是“counter < 5”。

1

while循环的意思是:如果条件成立,就一直执行下去,直到条件不成立。如果您观看了YouTube上的《自动化无聊的事情- While Loops》,就可以了解while循环如何使用以及为什么在其他情况下if语句更好。

password = ''

while password != 'your password':
    password = input('Please enter your password... ')
print('Thank you')
  1. 变量 password 被设置为空字符串。

  2. 如果 password 不等于字符串 "your password",则 while 表达式为 True,重复执行。如果 password 等于 'your password',则表达式为 false,退出循环。

  3. 只要 password 不等于 'your password',表达式就是 True,重复循环直到 False。

  4. 如果循环变为 False,则打印换行符,'Thank you',结束程序。


0
  1. 声明一个名为username1的变量并将其赋值
  2. 声明一个名为password1的变量并将其赋值
  3. 声明一个名为isCorrect的变量并将其赋值为布尔值True
  4. 创建一个程序,要求用户输入他的用户名(变量名:username2)和密码(变量名:password2)并保存它们
  5. 程序将检查输入的用户名(username2)和密码(password2)是否与username1和password1中定义的相同
  6. 如果是,则打印HAPPY LOGIN
  7. 如果不是,则再次要求用户输入新值并重新检查

2
欢迎来到Stackoverflow。请确保您已阅读了发布问题和回答的准则。我看不出这个答案是如何回答所提出的问题的。 - Serge de Gosson de Varennes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接