鱼C论坛

 找回密码
 立即注册
查看: 966|回复: 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 编辑
import threading

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

def user_input() :
    global s
    while True :
        s = input() . strip()
        if s == 'ting' :
            break

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

使用道具 举报

发表于 2023-12-31 11:41:14 | 显示全部楼层
你可以使用一个无限循环,然后通过条件判断来控制循环的停止。以下是一个示例代码:
while True:
    print("hello world")
    user_input = input("请输入字符:")
    if user_input == "ting":
        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
程序等待输入期间会停止,要写成不会停止循环


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

def hello_world():
    while True:
        print("hello world")

def user_input():
    while True:
        user_input = input("请输入字符:")
        if user_input == "ting":
            break

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

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

# 等待两个线程执行完毕
t1.join()
t2.join()

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

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

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

使用道具 举报

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

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

def user_input() :
    global s
    while True :
        s = input() . strip()
        if s == 'ting' :
            break

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 22:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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