鱼C论坛

 找回密码
 立即注册
查看: 520|回复: 4

[已解决]python 循环问题

[复制链接]
发表于 2023-12-31 11:40:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
@fishc

python 一直输出"hello world"的同时可以输入字符,在检测到输入"ting"时才会停止
最佳答案
2023-12-31 12:30:39
本帖最后由 jackz007 于 2023-12-31 12:34 编辑
  1. import threading

  2. '''
  3.    此代码不停地打印 'hello world',但是,同时可以接受键盘输入,
  4.    当输入 'ting' 时,立即退出程序
  5. '''

  6. def user_input() :
  7.     global s
  8.     while True :
  9.         s = input() . strip()
  10.         if s == 'ting' :
  11.             break

  12. s = ''
  13. t = threading . Thread(target = user_input)
  14. t . start()
  15. while s != 'ting' :
  16.     print('helo world')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-31 11:41:14 | 显示全部楼层
你可以使用一个无限循环,然后通过条件判断来控制循环的停止。以下是一个示例代码:

  1. while True:
  2.     print("hello world")
  3.     user_input = input("请输入字符:")
  4.     if user_input == "ting":
  5.         break
复制代码


这个代码会一直输出"hello world",同时等待用户输入字符。如果用户输入的字符是"ting",则循环会被打破,程序停止运行。否则,循环会继续执行。

注意,在循环内部使用了`input()`函数来获取用户输入,并将结果保存在`user_input`变量中。你可以根据需要对用户输入进行处理。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-31 11:42:34 | 显示全部楼层
FishC 发表于 2023-12-31 11:41
你可以使用一个无限循环,然后通过条件判断来控制循环的停止。以下是一个示例代码:

程序等待输入期间会停止,要写成不会停止循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-31 11:42:50 | 显示全部楼层
yc0526vip 发表于 2023-12-31 11:42
程序等待输入期间会停止,要写成不会停止循环


非常抱歉,我之前理解错了你的问题。如果你希望程序在等待用户输入时不停止循环,可以使用多线程来实现。以下是一个示例代码:

  1. import threading

  2. def hello_world():
  3.     while True:
  4.         print("hello world")

  5. def user_input():
  6.     while True:
  7.         user_input = input("请输入字符:")
  8.         if user_input == "ting":
  9.             break

  10. # 创建两个线程
  11. t1 = threading.Thread(target=hello_world)
  12. t2 = threading.Thread(target=user_input)

  13. # 启动两个线程
  14. t1.start()
  15. t2.start()

  16. # 等待两个线程执行完毕
  17. t1.join()
  18. t2.join()
复制代码


在这个代码中,我们创建了两个线程,一个用于输出"hello world",另一个用于等待用户输入。通过使用多线程,虽然用户输入会阻塞主线程,但"hello world"的输出线程仍然会继续执行。这样就实现了在等待用户输入期间不停止循环的效果。

需要注意的是,由于在两个线程中存在无限循环,因此可能需要使用其他方式(例如键盘中断)来终止程序的运行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-31 12:30:39 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2023-12-31 12:34 编辑
  1. import threading

  2. '''
  3.    此代码不停地打印 'hello world',但是,同时可以接受键盘输入,
  4.    当输入 'ting' 时,立即退出程序
  5. '''

  6. def user_input() :
  7.     global s
  8.     while True :
  9.         s = input() . strip()
  10.         if s == 'ting' :
  11.             break

  12. s = ''
  13. t = threading . Thread(target = user_input)
  14. t . start()
  15. while s != 'ting' :
  16.     print('helo world')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 06:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表