我一直在尝试运行我的程序,但每次我都这样做,我得到了这个:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\GURNHH\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "C:\Users\GURNHH\AppData\Local\Programs\Python\Python35-32\lib\turtle.py", line 686, in eventfun
fun()
File "C:/Users/GURNHH/OneDrive - Rugby School/ICT/Python/bored.py", line 22, in k1
badpos.remove((int(turtle.xcor()), int(turtle.ycor())))
KeyError: (0, 0)
在这种情况下,我不知道关键错误意味着什么,因为与许多其他人不同,我没有使用过dict。 我的程序应该让乌龟在50次移动后返回中心,但不会在设置的badpos中计数0,0。我的节目是:
from turtle import Turtle, Screen
from math import *
from random import *
random = 0
"""def add():
random = random + 1
def check():
if random > 4:
random = 0"""
def k1():
global random
turtle.forward(10)
random = random + 1
if random > 5:
turtle.goto(0,0)
badpos.remove((int(turtle.xcor()), int(turtle.ycor())))
position = (int(turtle.xcor()), int(turtle.ycor()))
if position in badpos:
turtle.color("red")
screen.bye()
def k2():
turtle.left(90)
def k3():
turtle.right(90)
turtle = Turtle(shape="turtle")
badpos = set()
screen = Screen()
screen.setup(1200, 700)
screen.title("Turtle-Snaky Thing")
screen.onkey(k1, "Up")
screen.onkey(k2, "Left")
screen.onkey(k3, "Right")
screen.listen()
screen.mainloop()
答案 0 :(得分:0)
我对如何使用一段代码并完全搞砸了我印象深刻。这是我原始示例的返工,添加了50个移动约束:
def add_fav(request,pk):
post = get_object_or_404(Post, pk=pk)
form = PostForm(instance=post)
post = form.save(commit=False)
if not request.user.profile:
request.user.profile = Profile.objects.create()
userprofile=request.user.profile
with userprofile.favorites.all as favorite_posts:
for post in post_list:
if post not in favorite_posts:
userprofile.favorites.add(post)
userprofile.save()
return redirect('post_list')
我对你的例子批发并没有接受我之前的答案给你留下了深刻的印象。这种新的变化使用起来比较棘手,因为只有很多次你可以从家里重新开始90度角,而不是踩到前一行,即使排除了原点:
也许转60或30度可能会让你有更多的机动性离家出走。
PS。你没有在这个程序中使用from turtle import Turtle, Screen
def k1():
global move_count
turtle.forward(10)
move_count += 1
if move_count % 50 == 0:
turtle.home()
position = (int(turtle.xcor()), int(turtle.ycor()))
if position != (0, 0) and position in badpos:
turtle.color("red")
screen.bye()
badpos.add(position)
def k2():
turtle.left(90)
def k3():
turtle.right(90)
turtle = Turtle(shape="turtle")
move_count = 0
badpos = set()
screen = Screen()
screen.setup(1200, 700)
screen.title("Turtle-Snakey Thing")
screen.onkey(k1, "Up")
screen.onkey(k2, "Left")
screen.onkey(k3, "Right")
screen.listen()
screen.mainloop()
。这是一个dict()
。