计数器变量在for循环中没有正确地递增



我试图在第一个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循环。

最新更新