有没有办法防止每次执行此代码时出现 ParseError ?
Posted
技术标签:
【中文标题】有没有办法防止每次执行此代码时出现 ParseError ?【英文标题】:Is there a way to prevent ParseError from coming up every time I execute this code? 【发布时间】:2022-01-18 20:57:49 【问题描述】:代码如下:
import turtle
import random
import time
colors = ["red", "firebrick", "darksalmon", "sandybrown", "gold", "olivedrab", "chartreuse", "palegreen", "darkgreen", "seagreen", "mediumspringgreen", "lightseagreen", "darkcyan", "darkturquoise", "deepskyblue", "slategray", "royalblue", "navy", "blue", "mediumpurple", "darkorchid", "plum", "m", "mediumvioletred", "palevioletred", "lightcoral", "marroon", "coral", "peachpuff", "darkorange", "darkgoldenrod", "yellowgreen", "lawngreen", "lightgreen", "g", "mediumseagreeen", "mediumaquamarine", "mediumturquoise", "darkslategrey", "c", "cadetblue", "skyblue", "dodgerblue", "slategrey", "darkblue", "slateblue", "rebeccapurple", "fuchsia", "deeppink", "crimson", "indianred", "salmon", "orangered", "chocolate", "peru", "goldenrod", "khaki", "y", "darkolivegreen", "forestgreen", "green", "springgreen", "aquamarine", "aqua", "lightskyblue", "lightsteelblue", "darkslateblue", "blueviolet", "mediumorchid", "purple", "magenta", "hotpink", "r", "tomato", "limegreenlime", "turquoise", "teal", "cyan", "lightblue", "steelblue", "cornflowerblue",]
iterationalsequences = 0
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
letitgrow = turtle.Turtle()
letitgrow.setposition(0,-20)
letitgrow.speed(0)
jimmy = turtle.Turtle()
jimmy.penup()
jimmy.setposition(0,150)
jimmy.pendown()
jimmy.speed(0)
r2 = random.randint(0,255)
g2 = random.randint(0,255)
b2 = random.randint(0,255)
angeleebo = turtle.Turtle()
angeleebo.setposition(0,0)
angeleebo.speed(0)
r2 = random.randint(0,255)
g2 = random.randint(0,255)
b2 = random.randint(0,255)
angeleebo.pensize (2)
angeleebo.color((r2, g2, b2))
angeleebo_outerrange = random.randint(2,13)
jimmy.hideturtle()
angeleebo.hideturtle()
letitgrow.hideturtle()
letitgrow.pensize(2)
for a in range(0,200):
color = random.choice(colors)
letitgrow.color(color)
letitgrow.setposition(0, 0)
letitgrow.right(0.5)
letitgrow.forward(25)
letitgrow.right(45)
letitgrow.forward(10)
letitgrow.left(60)
letitgrow.forward(25)
letitgrow.right(45)
letitgrow.forward(20)
letitgrow.left(65)
letitgrow.forward(10)
letitgrow.penup()
letitgrow.setposition(0, 0)
letitgrow.right(0.5)
letitgrow.pendown()
jimmy.pensize (1)
jimmy.color((r2, g2, b2))
jimmy_outerrange = random.randint(2,13)
print(jimmy_outerrange)
for colora in ("IndianRed","LightCoral","Salmon","Navajo White","Lemon Chiffon", "Lavender", "Midnight Blue", "Dodger Blue", "Light Sky Blue","Turquoise","Sea Green","Khaki","Goldenrod","Dark Orange","OrangeRed","Tomato","Coral","Red","Crimson","FireBrick","DarkRed", "Pink", "HotPink","DeepPink","GreenYellow","aquamarine","chocolate","chartreuse","burlywood","mediumorchid","purple"):
jimmy.color(colora)
for i in range(0, 10):
for i in range(0,jimmy_outerrange):
jimmy.forward(10)
jimmy.right(360/jimmy_outerrange)
jimmy.back(20)
jimmy.left(360/10)
jimmy.penup()
if iterationalsequences == 0:
jimmy.setheading(0)
iterationalsequences = iterationalsequences + 1
jimmy.right(360/31)
jimmy.forward(jimmy_outerrange*6)
jimmy.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
else:
jimmy.right(360/31)
jimmy.forward(jimmy_outerrange*6)
jimmy.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1
for colorados in ("BlanchedAlmond", "PeachPuff", "Azure", "MistyRose", "LightPink", "PaleVioletRed", "MediumOrchid", "Sienna", "SandyBrown", "NavajoWHite2", "Bisque", "LavenderBlush2","Thistle", "BlueViolet", "Magenta", "Maroon1", "DeepPink2", "Brown4", "SaddleBrown", "Dark Olive Green", "DarkSeaGreen", "LightSeaGreen", "LimeGreen", "Gold", "DarkGoldenrod", "DarkOrange", "tan", "wheat", "aliceblue", "cyan", "steelblue"):
angeleebo.setposition(0,0)
angeleebo.left(90)
angeleebo.forward(200)
angeleebo.color(colorados)
for i in range(0, 10):
for i in range(0,angeleebo_outerrange):
angeleebo.forward(25)
angeleebo.right(360/angeleebo_outerrange)
angeleebo.back(40)
angeleebo.forward(25)
angeleebo.right(360/angeleebo_outerrange)
angeleebo.right(360/10)
angeleebo.penup()
angeleebo.right(360/31)
angeleebo.forward(100)
angeleebo.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
由于某种原因,每次我按现在的方式运行代码时,都会出现此错误:
ParseError: bad input on line 103
但是我什么都试过了,还是不行。有人可以帮忙吗? - 仅供参考,第 103 行是:
for colorados in ("BlanchedAlmond", "PeachPuff", "Azure", "MistyRose", "LightPink", "PaleVioletRed", "MediumOrchid", "Sienna", "SandyBrown", "NavajoWHite2", "Bisque", "LavenderBlush2","Thistle", "BlueViolet", "Magenta", "Maroon1", "DeepPink2", "Brown4", "SaddleBrown", "Dark Olive Green", "DarkSeaGreen", "LightSeaGreen", "LimeGreen", "Gold", "DarkGoldenrod", "DarkOrange", "tan", "wheat", "aliceblue", "cyan", "steelblue"):
就上下文而言,这是一个 Python Turtle 代码,旨在以圆形的一般形状创建几个不同的形状,并且第 103 行中的所有这些字符串都是颜色阴影。
【问题讨论】:
您在上一行的末尾缺少)
。
如果您在其他问题中搜索该错误消息,您会发现这几乎总是原因。
【参考方案1】:
您在第 100 行的 time.sleep(1
中缺少结束 )
您还忘记使用 scr.colormode(255)
来允许 0 到 255 之间的 RGB 值
import turtle
import random
import time
colors = ["red", "firebrick", "darksalmon", "sandybrown", "gold", "olivedrab", "chartreuse", "palegreen", "darkgreen", "seagreen", "mediumspringgreen", "lightseagreen", "darkcyan", "darkturquoise", "deepskyblue", "slategray", "royalblue", "navy", "blue", "mediumpurple", "darkorchid", "plum", "m", "mediumvioletred", "palevioletred", "lightcoral", "marroon", "coral", "peachpuff", "darkorange", "darkgoldenrod", "yellowgreen", "lawngreen", "lightgreen", "g", "mediumseagreeen", "mediumaquamarine", "mediumturquoise", "darkslategrey", "c", "cadetblue", "skyblue", "dodgerblue", "slategrey", "darkblue", "slateblue", "rebeccapurple", "fuchsia", "deeppink", "crimson", "indianred", "salmon", "orangered", "chocolate", "peru", "goldenrod", "khaki", "y", "darkolivegreen", "forestgreen", "green", "springgreen", "aquamarine", "aqua", "lightskyblue", "lightsteelblue", "darkslateblue", "blueviolet", "mediumorchid", "purple", "magenta", "hotpink", "r", "tomato", "limegreenlime", "turquoise", "teal", "cyan", "lightblue", "steelblue", "cornflowerblue",]
iterationalsequences = 0
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.colormode(255)
scr.bgcolor((r, g, b))
time.sleep(1)
letitgrow = turtle.Turtle()
letitgrow.setposition(0,-20)
letitgrow.speed(0)
jimmy = turtle.Turtle()
jimmy.penup()
jimmy.setposition(0,150)
jimmy.pendown()
jimmy.speed(0)
r2 = random.randint(0,255)
g2 = random.randint(0,255)
b2 = random.randint(0,255)
angeleebo = turtle.Turtle()
angeleebo.setposition(0,0)
angeleebo.speed(0)
r2 = random.randint(0,255)
g2 = random.randint(0,255)
b2 = random.randint(0,255)
angeleebo.pensize (2)
angeleebo.color((r2, g2, b2))
angeleebo_outerrange = random.randint(2,13)
jimmy.hideturtle()
angeleebo.hideturtle()
letitgrow.hideturtle()
letitgrow.pensize(2)
for a in range(0,200):
color = random.choice(colors)
letitgrow.color(color)
letitgrow.setposition(0, 0)
letitgrow.right(0.5)
letitgrow.forward(25)
letitgrow.right(45)
letitgrow.forward(10)
letitgrow.left(60)
letitgrow.forward(25)
letitgrow.right(45)
letitgrow.forward(20)
letitgrow.left(65)
letitgrow.forward(10)
letitgrow.penup()
letitgrow.setposition(0, 0)
letitgrow.right(0.5)
letitgrow.pendown()
jimmy.pensize (1)
jimmy.color((r2, g2, b2))
jimmy_outerrange = random.randint(2,13)
print(jimmy_outerrange)
for colora in ("IndianRed","LightCoral","Salmon","Navajo White","Lemon Chiffon", "Lavender", "Midnight Blue", "Dodger Blue", "Light Sky Blue","Turquoise","Sea Green","Khaki","Goldenrod","Dark Orange","OrangeRed","Tomato","Coral","Red","Crimson","FireBrick","DarkRed", "Pink", "HotPink","DeepPink","GreenYellow","aquamarine","chocolate","chartreuse","burlywood","mediumorchid","purple"):
jimmy.color(colora)
for i in range(0, 10):
for i in range(0,jimmy_outerrange):
jimmy.forward(10)
jimmy.right(360/jimmy_outerrange)
jimmy.back(20)
jimmy.left(360/10)
jimmy.penup()
if iterationalsequences == 0:
jimmy.setheading(0)
iterationalsequences = iterationalsequences + 1
jimmy.right(360/31)
jimmy.forward(jimmy_outerrange*6)
jimmy.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
else:
jimmy.right(360/31)
jimmy.forward(jimmy_outerrange*6)
jimmy.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
for colorados in ("BlanchedAlmond", "PeachPuff", "Azure", "MistyRose", "LightPink", "PaleVioletRed", "MediumOrchid", "Sienna", "SandyBrown", "NavajoWHite2", "Bisque", "LavenderBlush2","Thistle", "BlueViolet", "Magenta", "Maroon1", "DeepPink2", "Brown4", "SaddleBrown", "Dark Olive Green", "DarkSeaGreen", "LightSeaGreen", "LimeGreen", "Gold", "DarkGoldenrod", "DarkOrange", "tan", "wheat", "aliceblue", "cyan", "steelblue"):
angeleebo.setposition(0,0)
angeleebo.left(90)
angeleebo.forward(200)
angeleebo.color(colorados)
for i in range(0, 10):
for i in range(0,angeleebo_outerrange):
angeleebo.forward(25)
angeleebo.right(360/angeleebo_outerrange)
angeleebo.back(40)
angeleebo.forward(25)
angeleebo.right(360/angeleebo_outerrange)
angeleebo.right(360/10)
angeleebo.penup()
angeleebo.right(360/31)
angeleebo.forward(100)
angeleebo.pendown()
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
scr = turtle.Screen()
scr.bgcolor((r, g, b))
time.sleep(1)
【讨论】:
以上是关于有没有办法防止每次执行此代码时出现 ParseError ?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我用VS2010调试程序时出现错误未能在指定文件夹中找到.exe