我试图在第一个if语句中增加符号2,而不是1,这是这个for循环的默认值。但是,即使在if语句为真并且symbol被加2之后,下面的迭代也会像符号刚刚被加1一样运行。我的难题是,即使增加了2,象征它回到被增加了一个使做符号+ = 2无用。
在第一个if语句中是否有任何方法将符号增加2 ?
def solution(roman):
value = 0
for symbol in range(len(roman)):
if roman[symbol:symbol+2] == 'IV':
value+=4
symbol+=2
elif roman[symbol] == 'I':
value+=1
elif roman[symbol] == 'V':
value+=5
return value
恐怕你不能用for
循环做到这一点:
for循环对目标列表中的变量进行赋值。这将覆盖之前对这些变量的所有赋值,包括在for循环套件中所做的赋值。for语句。doc.python.org
for
在Python中略有不同,因为它"[仅]用于迭代序列(如字符串,元组或列表)或其他可迭代对象的元素"。
试试while
循环。