veusz绘制mandelbrot集
Python2到Python3的问题修复
本文测试veusz
绘制2D
图形的能力,于是在官方网站下载了mandelbrot
的经典例子:mandelbrot.vsz,
但是官方的例子是以python2
构建的,而本文希望切换到python3
解决问题。由于语法的兼容,需要做出少许修改:
- 指明
python2
可以直接运行程序,但不是目前我想要的。 print
函数,在python2
中不需要加括号,但是python3
中需要加括号,即print "hello world"
→print ("hello world")
python2
中使用xrange
函数,在python3
中已经取消,合并到range
函数。所以需要修改:xrange()
→range()
- 错误:
TypeError: ‘float‘ object cannot be interpreted as an integer
. 造成错误的原因是range
里面使用了小数,所以解决方法有两个:python2
中的/
只保留整数部分,是int
型。在python3
中的/
的结果是真正意义上的除法,得到的是一个小数,所以是float
型,所以改用python3
中的//
得到一个整数,则问题解决。即:/
→//
- 如果不想任何改变仍要使用
range
的功能,则可以使用numpy
中提供的arange
,即1
2for i in numpy.arange(0.0, 4.1, 0.8)
print(i)
Python3下的mandelbrot.vsz
1 | # Veusz script (version 0.7 or later) |