鱼C论坛

 找回密码
 立即注册
查看: 3384|回复: 13

[已解决]病毒优化

[复制链接]
发表于 2023-2-17 09:54:01 | 显示全部楼层 |阅读模式

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

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

x
要求如下:将下面代码优化
1.要不停的创建新的窗口运行如下代码


  1. from turtle import *

  2. # 函数递归,不停调用无法关闭
  3. num = 200


  4. def open():
  5.     speed(0)
  6.     colors = ['cyan', 'yellow', 'blue', 'red']
  7.     bgcolor('black')
  8.     goto(300, 50)
  9.     b = 200
  10.     while b > 0:
  11.         pencolor(colors[b % 4])
  12.         left(b)
  13.         forward(b * 3)
  14.         b = b - 1
  15.     up()
  16.     goto(0, -350)
  17.     color('red')
  18.     write('病毒', font=("华文行楷", 30, "normal"))
  19.     goto(0, -380)
  20.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  21.     hideturtle()


  22. while True:
  23.     open()
复制代码
最佳答案
2023-2-17 11:46:06
本帖最后由 isdkz 于 2023-2-17 12:10 编辑

  1. from turtle import *
  2. from time import sleep
  3. import random
  4. from multiprocessing import Process

  5. def open():
  6.     setup(startx=random.randrange(0, 1500, 100), starty=random.randrange(0, 500, 100))
  7.     speed(0)
  8.     colors = ['cyan', 'yellow', 'blue', 'red']
  9.     bgcolor('black')
  10.     goto(300, 50)
  11.     b = 200
  12.     while b > 0:
  13.         pencolor(colors[b % 4])
  14.         left(b)
  15.         forward(b * 3)
  16.         b = b - 1
  17.     up()
  18.     goto(0, -350)
  19.     color('red')
  20.     write('turtle', font=("华文行楷", 30, "normal"))
  21.     goto(0, -380)
  22.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  23.     hideturtle()

  24. if __name__ == '__main__':
  25.     while True:
  26.         pro = Process(target=open)
  27.         pro.start()
  28.         sleep(0.5)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-17 10:38:17 | 显示全部楼层
没人了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 11:03:29 | 显示全部楼层

回帖奖励 +8 鱼币

我试了下多线程,但是好像turtle窗口会报错
用tkinter窗口就没事
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-17 11:11:18 | 显示全部楼层
liuhongrun2022 发表于 2023-2-17 11:03
我试了下多线程,但是好像turtle窗口会报错
用tkinter窗口就没事

大哥可以看看你的源码吗

点评

我很赞同!: 5.0
我很赞同!: 5
回复被审核了,一会跟你说...........  发表于 2023-2-17 11:15
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-17 11:14:20 | 显示全部楼层
大大的拳头 发表于 2023-2-17 11:11
大哥可以看看你的源码吗

你说的是报错的代码吗?
如果是,请看下面:
  1. from turtle import *
  2. import threading
  3. import time


  4. # 函数递归,不停调用无法关闭
  5. num = 200


  6. def open():
  7.     speed(0)
  8.     colors = ['cyan', 'yellow', 'blue', 'red']
  9.     bgcolor('black')
  10.     goto(300, 50)
  11.     b = 200
  12.     while b > 0:
  13.         pencolor(colors[b % 4])
  14.         left(b)
  15.         forward(b * 3)
  16.         b = b - 1
  17.     up()
  18.     goto(0, -350)
  19.     color('red')
  20.     write('病毒', font=("华文行楷", 30, "normal"))
  21.     goto(0, -380)
  22.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  23.     hideturtle()


  24. threads = []
  25. for i in range(5):  # 需要的弹框数量,别太多了,电脑不好的话怕你死机
  26.     t = threading.Thread(target=open)
  27.     threads.append(t)
  28.     time.sleep(0.1)
  29.     threads[i].start()
复制代码




还有,吐槽下,什么大哥,我是小学生.......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 11:18:47 | 显示全部楼层
大大的拳头 发表于 2023-2-17 11:11
大哥可以看看你的源码吗

你说的是报错的版本吗?
如果是,请看下边:
  1. from turtle import *
  2. import threading
  3. import time


  4. # 函数递归,不停调用无法关闭
  5. num = 200


  6. def open():
  7.     speed(0)
  8.     colors = ['cyan', 'yellow', 'blue', 'red']
  9.     bgcolor('black')
  10.     goto(300, 50)
  11.     b = 200
  12.     while b > 0:
  13.         pencolor(colors[b % 4])
  14.         left(b)
  15.         forward(b * 3)
  16.         b = b - 1
  17.     up()
  18.     goto(0, -350)
  19.     color('red')
  20.     write('病毒', font=("华文行楷", 30, "normal"))
  21.     goto(0, -380)
  22.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  23.     hideturtle()


  24. threads = []
  25. for i in range(5):  # 需要的弹框数量,别太多了,电脑不好的话怕你死机
  26.     t = threading.Thread(target=open)
  27.     threads.append(t)
  28.     time.sleep(0.1)
  29.     threads[i].start()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 11:34:08 | 显示全部楼层
大大的拳头 发表于 2023-2-17 11:11
大哥可以看看你的源码吗

你说的是报错的源码吗?
如果是,看这个:↓
  1. from turtle import *
  2. import threading
  3. import time


  4. # 函数递归,不停调用无法关闭
  5. num = 200


  6. def open():
  7.     speed(0)
  8.     colors = ['cyan', 'yellow', 'blue', 'red']
  9.     bgcolor('black')
  10.     goto(300, 50)
  11.     b = 200
  12.     while b > 0:
  13.         pencolor(colors[b % 4])
  14.         left(b)
  15.         forward(b * 3)
  16.         b = b - 1
  17.     up()
  18.     goto(0, -350)
  19.     color('red')
  20.     write('病毒', font=("华文行楷", 30, "normal"))
  21.     goto(0, -380)
  22.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  23.     hideturtle()


  24. threads = []
  25. for i in range(5):  # 需要的弹框数量,别太多了,电脑不好的话怕你死机
  26.     t = threading.Thread(target=open)
  27.     threads.append(t)
  28.     time.sleep(0.1)
  29.     threads[i].start()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 11:39:08 | 显示全部楼层
  1. from turtle import *
  2. from time import sleep
  3. import random
  4. from multiprocessing import Process

  5. # 函数递归,不停调用无法关闭
  6. num = 200


  7. def open():
  8.     setup(startx=random.randint(100, 1000), starty=random.randint(100, 1000))
  9.     speed(0)
  10.     colors = ['cyan', 'yellow', 'blue', 'red']
  11.     bgcolor('black')
  12.     goto(300, 50)
  13.     b = 200
  14.     while b > 0:
  15.         pencolor(colors[b % 4])
  16.         left(b)
  17.         forward(b * 3)
  18.         b = b - 1
  19.     up()
  20.     goto(0, -350)
  21.     color('red')
  22.     write('病毒', font=("华文行楷", 30, "normal"))
  23.     goto(0, -380)
  24.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  25.     hideturtle()

  26. if __name__ == '__main__':
  27.     while True:
  28.         pro1 = Process(target=open)
  29.         pro1.start()
  30.         sleep(0.5)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 11:46:06 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +8 鱼币

本帖最后由 isdkz 于 2023-2-17 12:10 编辑

  1. from turtle import *
  2. from time import sleep
  3. import random
  4. from multiprocessing import Process

  5. def open():
  6.     setup(startx=random.randrange(0, 1500, 100), starty=random.randrange(0, 500, 100))
  7.     speed(0)
  8.     colors = ['cyan', 'yellow', 'blue', 'red']
  9.     bgcolor('black')
  10.     goto(300, 50)
  11.     b = 200
  12.     while b > 0:
  13.         pencolor(colors[b % 4])
  14.         left(b)
  15.         forward(b * 3)
  16.         b = b - 1
  17.     up()
  18.     goto(0, -350)
  19.     color('red')
  20.     write('turtle', font=("华文行楷", 30, "normal"))
  21.     goto(0, -380)
  22.     write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
  23.     hideturtle()

  24. if __name__ == '__main__':
  25.     while True:
  26.         pro = Process(target=open)
  27.         pro.start()
  28.         sleep(0.5)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-17 11:53:01 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 16:26:17 | 显示全部楼层

回帖奖励 +8 鱼币

领一个币
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-17 19:38:42 | 显示全部楼层

回帖奖励 +8 鱼币

蹭币
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-18 16:53:53 | 显示全部楼层
这个在自己电脑打开是不是很猴赛雷啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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