我同意@TigerhawkT3(+1)你教授对pick_color()的实现是垃圾。但我不认为random.choice(),或者你教授滥用random.shuffle()的方式是最好的选择。两者的问题是,在连续调用时可以获得相同的颜色,这是在正方形内绘制正方形时不需要的:>>> import random

>>> COLORS = ['red', 'blue', 'green', 'yellow', 'black', 'pink', 'gold', 'violet', 'orange', 'magenta', 'cyan']

>>> for _ in range(10):

... print(random.choice(COLORS))

...

green

pink

red

black

violet

orange

orange

violet

yellow

yellow

>>>

我仍然会使用random.shuffle(),尽管不是像你的教授那样,通过跟踪返回的颜色来确保前一次洗牌的最后一种颜色不是新洗牌的第一种颜色:import turtle

import random

COLORS = ["blue", "black", "brown", "red", "yellow", "green", "orange", "beige", "turquoise", "pink"]

def pick_color(colors=[], previous=[None]): # intentionally dangerous default values

if not colors:

colors.extend(COLORS)

random.shuffle(colors)

if colors[-1] == previous[0]:

colors.insert(0, colors.pop())

previous[0] = colors.pop()

return previous[0]

squares = input("How many squares should I draw (whole numbers): ")

squares_int = int(squares)

length = 400

x = -200

y = 200

turtle.pensize(5)

for i in range(squares_int):

random_color = pick_color()

turtle.fillcolor(random_color)

turtle.penup()

turtle.goto(x, y)

turtle.pendown()

turtle.begin_fill()

for _ in range(4):

turtle.forward(length)

turtle.right(90)

turtle.end_fill()

length -= 30

x, y = x + 15, y - 15

turtle.done()

我相信这比你用相同颜色的相邻方块显示的效果要好:

python背景颜色怎么随机_Python中的随机颜色相关推荐

  1. EasyExcel 单元格背景颜色、字体颜色使用2种设置颜色方法(IndexedColors中定义的颜色,自定义RGB颜色)实现

    1 Maven配置 <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifa ...

  2. python画图颜色代码_python中matplotlib的颜色及线条控制的示例

    下次用python画图的时候选色选点都可以直接参考这边,牛逼!分享给大家,也给自己留个笔记. 参考网址: http://stackoverflow.com/questions/22408237/nam ...

  3. python基本随机数生成函数有_Python中生成随机数的常用方法

    注意:random模块中的方法是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用方法. random.random() random()方法返回随机生成的一个实数(浮 ...

  4. python常用函数的用法_python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...

  5. python购物车结算不了_python中购物车

    python的基础语法 python数据类型:(按特征划分) 数字类型: 1.整形:布尔形.长整型L.标准整形 2.非整形:双精度型.复数.decimal(不是内建类型) 序列类型: 1.字符串(st ...

  6. python的random()函数用法_python中的随机函数random的用法示例

    一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等. 二.random模块重要函数 1 ).ra ...

  7. python用turtle画月亮_python中简单易学的绘图:用turtle画太极图

    为什么想画太极图呢?因为我儿子不知道是看了哪本书还是哪个电视,竟然特地打印出一张太极图要挂在大门口,我赶紧说祖宗这挂在门外,别人看见了还以为咱家出什么事了,你喜欢就挂自己卧室门口吧,于是这张图就成了他 ...

  8. python里的join方法_python中join()方法介绍

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str . join ( sequence ) 参数 sequence -- ...

  9. python怎么用第三方库_python中第三方库的下载方法

    1.最常用:在命令行中输入  pip install "库名称"  例如 pip install gensim 查看pip的命令集: pip uninstall "库名& ...

最新文章

  1. 配置SSH是出现: sign_and_send_pubkey: signing failed: agent refused operation Permission denied
  2. News Break!沈向洋投资并出任美国版“今日头条”董事长
  3. Java微信二次开发(八)
  4. [转载]poj 计算几何题全集(转)
  5. 经济学与计算机科学结合,理论计算机在物理学和经济学领域的重要作用
  6. DXperience-8.2.6 注册
  7. [字符串] --- 字符串的排列(剑指 Offer 38)
  8. python时间处理模块有哪些_Python模块之时间处理
  9. Ansible: hosts文件拆分为inventory和定义inventory全局变量
  10. iOS键盘监听以及获取键盘高度
  11. 运行phpize时出现:Cannot find autoconf
  12. WordPress出现循环重定向解决办法
  13. ltsc教育许可激活_教育部征求有关开放许可要求的意见
  14. 用c语言编写一个汇编编译器,【提问】最早的汇编语言编译器如何诞生?
  15. 朋友圈刷屏了,Clubhouse为什么这么火?
  16. 接口设计需要考虑哪些方面
  17. JAVA程序员必备网站
  18. 国内交通银行OSA账户被注销后,企业该如何面对这种局面?
  19. 涉密计算机病毒库升级管理,涉密计算机管理制度.doc
  20. 12306抢票系统的NB解析

热门文章

  1. ASP。NET的设计思想
  2. Unity3D-相关函数功能
  3. MFC基于对话框的商场交易软件实现
  4. python嵌套列表法实现树_python – 将嵌套的括号树转换为嵌套列表
  5. java 百度地图地址解析_百度地图Java地址解析和经纬度解析
  6. C++ lower_bound和upper_bound的区别
  7. VMware14.1 Ubuntu16.04设置xshell连接虚拟机
  8. MFC中树形控件的应用——电话簿
  9. tensorflow权重初始化
  10. 数字图像处理实验6图像编码