有没有办法防止每次执行此代码时出现 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

git pull时出现vim窗口的解决办法

在 python 代码中执行更新查询时出现此错误

有没有办法通过不必手动执行所有这些功能来从页面中检索 html 代码?

附加std字符串时出现bad_alloc异常