我是编程新手,我必须做的一项任务是使用for循环和.join创建一个随机的hexdigit颜色代码生成器.
我的程序是否接近你的工作方式,还是完全关闭?
并且,有没有办法让随机数量的数字和字母出现在6?
我的程序是否接近你的工作方式,还是完全关闭?
并且,有没有办法让随机数量的数字和字母出现在6?
import random str = ("A","B","C","D","E","F","G","H") seq = ("1","2","3","4","5","6","7","8","9") print '#',for i in range(0,3): letter = random.choice(str) num = random.choice(seq) print num.join(letter),print letter.join(num)
解决方法
字符串可以迭代,所以我的代码看起来像这样.
import random def gen_hex_colour_code(): return ''.join([random.choice('0123456789ABCDEF') for x in range(6)]) if __name__ == '__main__': print gen_hex_colour_code()
结果是
In [8]: 9F04A4 In [9]: C9B520 In [10]: DAF3E3 In [11]: 00A9C5
然后,您可以将其放在一个名为myutilities.py的单独文件中
然后在你的主python文件中,你会像这样使用它:
import myutilities print myutilities.gen_hex_colour_code()
如果直接运行myutilities.py文件,则只会执行if __name__ ==’__ main__’:部分.从其他文件导入时不会执行.这通常是测试功能的用武之地.
另请注意,这是使用Python 2.7的语法.在Python 3.0中,一个主要区别是print是一个函数,你必须使用print(gen_hex_colour_code()).如果您感到困惑,请参阅http://docs.python.org/3.0/whatsnew/3.0.html以获取有关事物如何不同的更多信息.
为什么我仍然会使用Python 2.7?许多科学python模块仍在使用2.7变体,但对于Python的新手,我建议你坚持使用3.0