其他声明计数器在功能范围内(Else statement counter within function)

编程入门 行业动态 更新时间:2024-10-27 06:35:19
其他声明计数器在功能范围内(Else statement counter within function) import rhinoscriptsyntax as rs def conCir(pt, r): if r <= 0: print "Done" else: rs.AddCircle(pt, r) return conCir(pt, r-1) pt1 = rs.GetPoint("Pick First Point") pt2 = rs.GetPoint("Pick Second Point") r = rs.Distance(pt1, pt2) conCir(pt1, r)

我尝试的是制作同心圆,但是,我无法弄清楚如何计算创建的圆圈数。 在理想情况下,此计数器嵌入在函数中,但是将其放在第一行使得每次调用函数时它都会重置为0。

需要说明的是,完成后功能需要打印“完成”,计数,“绘制圆圈”。

import rhinoscriptsyntax as rs def conCir(pt, r): if r <= 0: print "Done" else: rs.AddCircle(pt, r) return conCir(pt, r-1) pt1 = rs.GetPoint("Pick First Point") pt2 = rs.GetPoint("Pick Second Point") r = rs.Distance(pt1, pt2) conCir(pt1, r)

What I try is to make concentric circles, however, I can't figure out how to count the number of circles created. In an ideal situation, this counter is embedded within the function, but placing it on the first line makes it reset to 0 every time the function is called.

To be clear, when finished the function needs to print "Done", count, "circles were drawn."

最满意答案

在递归调用中传递计数器,并在打印Done时打印它

def conCir(pt, r, count=0): if r <= 0: print "Done" print count, " circles were drawn" else: rs.AddCircle(pt, r) return conCir(pt, r-1, count+1)

Pass a counter in the recursive call, and print it when printing Done

def conCir(pt, r, count=0): if r <= 0: print "Done" print count, " circles were drawn" else: rs.AddCircle(pt, r) return conCir(pt, r-1, count+1)

更多推荐

本文发布于:2023-07-05 02:44:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1032120.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:范围内   计数器   声明   功能   function

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!