python - 遍历坐标列表?
问题描述
我有两个函数,第一个函数生成一个随机的坐标列表。第二个函数,我需要它遍历坐标列表并绘制每个坐标。当我执行我的代码时,我得到一个错误,不知道为什么。
这是我的代码:
import random
import turtle
def generate_map(x_range, y_range, locations):
generated_map = []
for x in range(locations):
random_x_points = random.randint(-x_range,x_range)
random_y_points = random.randint(-y_range,y_range)
generated_map.append([random_x_points, random_y_points])
return generated_map
copied_map = generate_map(300,300,10)
print("Map Points are:", copied_map)
def print_map(speed, color, thickness, selected_map):
print("printing map")
turtle.penup()
turtle.setpos(selected_map[0][0])
turtle.pendown()
for x in range(len(selected_map)):
turtle.speed(speed)
turtle.pencolor(color)
turtle.pensize(thickness)
turtle.goto(selected_map[x])
turtle.setpos(selected_map[0][0])
print_map(5,"green",5,copied_map)
我认为错误可能是因为:
turtle.goto(selected_map[x])
它说它是不可迭代的,但我之前在之前的练习中做过这个并且它工作得很好,所以我不知道它哪里出了问题以及如何解决它?这是访问列表中元素的方法,所以我不确定为什么它不起作用,除非我没有正确访问列表中的元素或者我应该使用嵌套列表?
解决方案
回答
import random
import turtle
def generate_map(x_range, y_range, locations):
generated_map = []
for x in range(locations):
random_x_points = random.randint(-x_range,x_range)
random_y_points = random.randint(-y_range,y_range)
generated_map.append([random_x_points, random_y_points])
return generated_map
copied_map = generate_map(300,300,10)
print("Map Points are:", copied_map)
def print_map(speed, color, thickness, selected_map):
print("printing map")
turtle.penup()
turtle.setpos(selected_map[0])
turtle.pendown()
for x in range(len(selected_map)):
for i in selected_map:
turtle.speed(speed)
turtle.pencolor(color)
turtle.pensize(thickness)
turtle.goto(selected_map[x])
turtle.setpos(selected_map[0])
推荐阅读
- postgresql - 如何将多个值插入数据库
- swift - 是否可以将图像从 App 分享到 Instagram Story
- snmp - RFC3414 - SNMP 如何不需要防御 DDOS 或流量分析攻击?
- c# - 在 asp.net MVC 中的代码片段之间传递变量
- c++ - 关于异常处理的 C++ 建议
- r - R:用于识别 HTML 块中的数字的正则表达式
- regex - 生成正则表达式以检查数字是否在范围内的算法(任何范围)
- javascript - Firefox 不允许同时选择两个文本输入
- ruby-on-rails - 如何为某些测试存根配置
- javascript - 隐藏输入未提交