简单的问题 - 我想要一个循环计数,当它达到一定数量时返回0。
尝试过类似的事情:
while i < 7:
i += 1
if i == 7
i -= 1 #(or change i in any other way - you get the idea)
当我尝试上述操作时,我的Python实际上崩溃了。
编辑:是的,永远不会遇到if
条件 - 但是当我将其更改为if i == 6
时它仍会崩溃。
答案 0 :(得分:0)
如果你想要数到7,那么倒数到0就可以尝试:
i = 0
add = True
while True:
if add:
i += 1
else:
i -= 1
if i in [0, 7]:
add = not add
答案 1 :(得分:0)
while i < 7:
i += 1
if i == 7:
i = 0
问题是i- = 1行。你的代码可以工作,因为我最多可以计算6,但是当它达到6时,它会增加到7,然后再减去6。您当前的序列是0,1,2,3,4,5,6,6,6,6,......
答案 2 :(得分:0)
这是您更正后的代码,
import numpy as np
def write_svgarc(xcenter,ycenter,r,startangle,endangle,output='arc.svg'):
if startangle > endangle:
raise ValueError("startangle must be smaller than endangle")
if endangle - startangle < 360:
large_arc_flag = 0
radiansconversion = np.pi/180.
xstartpoint = xcenter + r*np.cos(startangle*radiansconversion)
ystartpoint = ycenter - r*np.sin(startangle*radiansconversion)
xendpoint = xcenter + r*np.cos(endangle*radiansconversion)
yendpoint = ycenter - r*np.sin(endangle*radiansconversion)
#If we want to plot angles larger than 180 degrees we need this
if endangle - startangle > 180: large_arc_flag = 1
with open(output,'a') as f:
f.write(r"""<path d=" """)
f.write("M %s %s" %(xstartpoint,ystartpoint))
f.write("A %s %s 0 %s 0 %s %s"
%(r,r,large_arc_flag,xendpoint,yendpoint))
f.write("L %s %s" %(xcenter,ycenter))
f.write(r"""Z"/>""" )
else:
with open(output,'a') as f:
f.write(r"""<circle cx="%s" cy="%s" r="%s"/>"""
%(xcenter,ycenter,r))
达到6时达到0。 很多语法错误已修复。