Python 循环累积
这是我们班的一个问题,学习使用Forloops accum if。我被这个问题困住了 我必须写一个使用累加的代码 这就是我目前所拥有的Python 循环累积,python,for-loop,Python,For Loop,这是我们班的一个问题,学习使用Forloops accum if。我被这个问题困住了 我必须写一个使用累加的代码 这就是我目前所拥有的 def sequenceDigitsAndStars (dig): st = "*" for i in range(len(dig)): if(st[i].isdigit()): dig = dig + st[i] return st 我得到了这个代码的“内存错误” 问题是,如果我为值dig键入一
def sequenceDigitsAndStars (dig):
st = "*"
for i in range(len(dig)):
if(st[i].isdigit()):
dig = dig + st[i]
return st
我得到了这个代码的“内存错误”
问题是,如果我为值
dig
键入一个数字(即5
),它应该返回0*1*2*3*4*5*
。我在这方面遇到了麻烦,我不知道如何才能使它以星号(0*
)交替的方式从0
开始输入数字。(当我使用数字作为输入值时,如何使其交替模式0*
)我想这应该可以解决您的问题
def sequenceDigitsAndStars (dig):
st = ""
for i in range(dig + 1):
st += str(i) + '*'
return st
那么
def sequenceDigitsAndStars (dig):
return '*'.join(map(str, range(dig))
这将获得0-dig的范围,将其转换为字符串数组,然后将元素与*
s组合
如果您想要一个尾随的*
,您可以这样做
def sequenceDigitsAndStars (dig):
return '*'.join(map(str, range(dig)) + '*'
你想这么做吗
print "*".join(str(i) for i in xrange(dig+1))
因为这是家庭作业,所以您可以使用:
def sequenceDigitsAndStars (dig):
string = ""
for i in range(dig):
string += str(i)+"*"
string += str(i+1)
return string
这有几个性能问题 您希望len(5)是什么?st[i]是st中的第i个元素示例希望返回其他元素谢谢,此代码工作得非常好。谢谢你的帮助。:)@基本的等等?我再也看不到评论了。我不明白。