鱼C论坛

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

[已解决]病毒优化

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

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

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

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

from turtle import *

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


def open():
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('病毒', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()


while True:
    open()
最佳答案
2023-2-17 11:46:06
本帖最后由 isdkz 于 2023-2-17 12:10 编辑

from turtle import *
from time import sleep
import random
from multiprocessing import Process

def open():
    setup(startx=random.randrange(0, 1500, 100), starty=random.randrange(0, 500, 100))
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('turtle', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()

if __name__ == '__main__':
    while True:
        pro = Process(target=open)
        pro.start()
        sleep(0.5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-17 10:38:17 | 显示全部楼层
没人了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +8 鱼币

我试了下多线程,但是好像turtle窗口会报错
用tkinter窗口就没事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

大哥可以看看你的源码吗

点评

我很赞同!: 5.0
我很赞同!: 5
回复被审核了,一会跟你说...........  发表于 2023-2-17 11:15
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

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


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


def open():
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('病毒', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()


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



还有,吐槽下,什么大哥,我是小学生.......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


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


def open():
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('病毒', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()


threads = []
for i in range(5):  # 需要的弹框数量,别太多了,电脑不好的话怕你死机
    t = threading.Thread(target=open)
    threads.append(t)
    time.sleep(0.1)
    threads[i].start()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


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


def open():
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('病毒', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()


threads = []
for i in range(5):  # 需要的弹框数量,别太多了,电脑不好的话怕你死机
    t = threading.Thread(target=open)
    threads.append(t)
    time.sleep(0.1)
    threads[i].start()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


def open():
    setup(startx=random.randint(100, 1000), starty=random.randint(100, 1000))
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('病毒', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()

if __name__ == '__main__':
    while True:
        pro1 = Process(target=open)
        pro1.start()
        sleep(0.5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +8 鱼币

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

from turtle import *
from time import sleep
import random
from multiprocessing import Process

def open():
    setup(startx=random.randrange(0, 1500, 100), starty=random.randrange(0, 500, 100))
    speed(0)
    colors = ['cyan', 'yellow', 'blue', 'red']
    bgcolor('black')
    goto(300, 50)
    b = 200
    while b > 0:
        pencolor(colors[b % 4])
        left(b)
        forward(b * 3)
        b = b - 1
    up()
    goto(0, -350)
    color('red')
    write('turtle', font=("华文行楷", 30, "normal"))
    goto(0, -380)
    write('     ——棠初  丁宇航', font=("宋体", 20, "normal"))
    hideturtle()

if __name__ == '__main__':
    while True:
        pro = Process(target=open)
        pro.start()
        sleep(0.5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-17 11:53:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +8 鱼币

领一个币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +8 鱼币

蹭币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-18 16:53:53 | 显示全部楼层
这个在自己电脑打开是不是很猴赛雷啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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