首页 > 解决方案 > 每次按下按钮时,如何更改 tkinter 代码以随机绘制?

问题描述

我想编写一个代码,以便每次按下按钮时都会绘制一个不同的标志。但是现在,当按随机按钮绘制国旗时,即使我再次按下它,也只会绘制那个国家的国旗。那部分是 def button27_pressed():。랜덤 表示随机。每次按下按钮时,如何更改代码以随机绘制标志?

from tkinter import *
from turtle import*
from Random import FlagPrint
import random

from 중국 import China
from 체코 import Czeh
from 태국 import Thailand
from 튀니지 import Tunisia
from 프랑스 import France
from 헝가리 import Hungary

window=Tk()
window.title("거북이를 이용한 국기 그리기")
window.geometry("540x320")



def button27_pressed():

    Country=['그리스','대한민국','덴마크','독일','라트비아','룩셈부르크',
            '리투아니아','말리','미국','바하마','방글라데시','벨기에',
            '스위스','아이슬란드','아일랜드','영국','오스트리아','이탈리아',
            '인도','일본','중국','체코','태국','튀니지','프랑스','헝가리']

    Flag=random.choice(Country)

    FlagPrint()

这是 FlagPrint 代码。

def FlagPrint():
    if(Flag=='그리스'):
       Greece()

    elif(Flag=='대한민국'):
         Korea()

    elif(Flag=='덴마크'):
         Denmark()

    elif(Flag=='독일'):
         Germany()

这是法国的例子。

from turtle import *

def France():

    reset()

    colormode(255)
    speed(7)
    setup(900, 900)

    penup()
    goto(-375, 250)
    pendown()

    # Blue Rectangle
    color(0,85,164)
    begin_fill()
    forward(250)
    right(90)
    forward(500)
    right(90)
    forward(250)
    end_fill()

    right(180)
    penup()
    forward(500)
    pendown()

    # Red Rectangle
    color(239,65,53)
    begin_fill()
    forward(250)
    left(90)
    forward(500)
    left(90)
    forward(250)
    end_fill()

    hideturtle()

标签: pythontkinterrandom

解决方案


def button27_pressed():

    Country=['그리스','대한민국','덴마크','독일','라트비아','룩셈부르크',
            '리투아니아','말리','미국','바하마','방글라데시','벨기에',
            '스위스','아이슬란드','아일랜드','영국','오스트리아','이탈리아',
            '인도','일본','중국','체코','태국','튀니지','프랑스','헝가리']

    Flag=random.choice(Country)

    FlagPrint(Flag) # pass in flag as argument

def FlagPrint(Flag): # add Flag parameter
    ...

推荐阅读