切換到Python Turtle Module

我試著做一個簡單的開關,當我按下一個鍵時,它會改變一個變量(在本例中是switchvalue)。我的方法似乎不起作用,關鍵的檢測就我所知起作用了。

import turtle
from turtle import Turtle, Screen

screen = Screen()

jack = Turtle("turtle")
jack.color("red", "green")
jack.pensize(10)
jack.speed(0)
switchvalue = 1


def switch():
    global switchvalue
    if switchvalue == 1:
        switchvalue = 0
    if switchvalue == 0:
        switchvalue = 1




turtle.listen()

turtle.onkey(switch,"s")

screen.mainloop()

if switchvalue == 0:
    jack.forward(100)
? 最佳回答:

你在函數switch()中的邏輯錯誤。看看當switchvalue1時,begging中會發生什么

def switch():
    global switchvalue
    if switchvalue == 1: # True
        switchvalue = 0 # change it to 0
    if switchvalue == 0: # Whoops, True again, because you switched it to 0 before
        switchvalue = 1

如您所見,您正在將switchvalue更改為0,然后檢查它是否為0,然后將它更改回1,換句話說,兩個if語句都被執行。您應該改為使用elifelse,這樣,如果一個成功,if循環(隱喻地說)將中斷,另一個if將不會被檢查。

def switch():
    global switchvalue
    # IF one if succeds all the others will not be accounted
    if switchvalue == 1:
        switchvalue = 0
    elif switchvalue == 0:
        switchvalue = 1
主站蜘蛛池模板: 99精品一区二区免费视频| 夜夜爽一区二区三区精品| 国产精品亚洲高清一区二区 | 精品视频一区二区观看| 无码少妇一区二区性色AV| 亚洲国产精品第一区二区三区| 中文字幕日韩一区| 秋霞午夜一区二区| 一本大道东京热无码一区 | 国产suv精品一区二区6| 中文字幕日韩丝袜一区| 一区二区三区日韩精品| 久久久久人妻一区精品果冻| 日美欧韩一区二去三区| 性色AV一区二区三区天美传媒| 精品一区二区三区无码免费视频| 在线观看免费视频一区| 中文日韩字幕一区在线观看| 一级特黄性色生活片一区二区 | 亚洲AV美女一区二区三区| 中文无码精品一区二区三区| 相泽亚洲一区中文字幕| 精品一区二区三区视频| 日本夜爽爽一区二区三区| 国产一区在线电影| 日本精品一区二区三区四区| 国产免费伦精品一区二区三区 | 高清一区二区三区视频| 国产一区在线观看免费| 亚洲第一区在线观看| 久久久人妻精品无码一区| 亚洲一区二区三区影院| 夜色福利一区二区三区| 99热门精品一区二区三区无码| 亚洲综合在线一区二区三区| 日本一道高清一区二区三区| 精品视频午夜一区二区| 色妞AV永久一区二区国产AV| 日韩精品中文字幕无码一区| 一本久久精品一区二区| 国产99精品一区二区三区免费|