鱼C论坛

 找回密码
 立即注册
查看: 2412|回复: 5

[已解决]求一个函数

[复制链接]
发表于 2021-1-14 16:45:15 | 显示全部楼层 |阅读模式

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

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

x
求一个函数
运行程序时
让一个循环通过外界操作停止
最佳答案
2021-1-14 17:44:14



你想用 Python 这样搞,如果用 GUI 可以直接弄个按钮

如果不用 GUI 编程可以像下面代码这样,只要你外部输入任何值回车就会终止函数循环:

  1. from threading import Thread
  2. from time import sleep

  3. def test():
  4.     number = 0
  5.     while FLAG == True:
  6.         number += 1
  7.         sleep(0.5)
  8.     print(number)

  9. FLAG = True
  10. t = Thread(target=test)
  11. t.start()

  12. FLAG = input('>>>')
复制代码


想达到你的需求应该不管用不用 GUI 都需要用到多线程,否则就像楼上那样直接强制 Ctrl + c 终止运行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-14 17:00:44 | 显示全部楼层
  1. try:
  2.     while 1:
  3.         print('循环')
  4. except:
  5.     exit()
复制代码

ctrl+c停止
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 17:01:02 | 显示全部楼层


GUI 多线程?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-14 17:02:57 | 显示全部楼层

我表示我不会多线程
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 17:44:14 | 显示全部楼层    本楼为最佳答案   



你想用 Python 这样搞,如果用 GUI 可以直接弄个按钮

如果不用 GUI 编程可以像下面代码这样,只要你外部输入任何值回车就会终止函数循环:

  1. from threading import Thread
  2. from time import sleep

  3. def test():
  4.     number = 0
  5.     while FLAG == True:
  6.         number += 1
  7.         sleep(0.5)
  8.     print(number)

  9. FLAG = True
  10. t = Thread(target=test)
  11. t.start()

  12. FLAG = input('>>>')
复制代码


想达到你的需求应该不管用不用 GUI 都需要用到多线程,否则就像楼上那样直接强制 Ctrl + c 终止运行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 17:45:47 | 显示全部楼层
本帖最后由 qq1151985918 于 2021-1-14 17:54 编辑

不知道你想要的是不是我写的这样

  1. import time
  2. switch = [1]

  3. def setswitch(switch):
  4.     if switch[0] ==1:
  5.         switch[0] = 0
  6.     else:
  7.         switch[0] = 1

  8.         #设置一个控制开关
  9.         #循环中是 n == 5 时后执行此函数
  10.         #由该函数控制循环是否继续
  11. n = 0
  12. while switch[0]:
  13.     print(n)
  14.     time.sleep(2)
  15.     if n == 5:
  16.         setswitch(switch)
  17.         print('退出')
  18.         
  19.     n += 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 01:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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