[英]Counter variable isnt being incremented inside the for loop correctly
我试图在第一个 if 语句中将 symbol 增加 2 而不是 1,这是 for 循环的默认值。 但是,即使在 if 语句为真并且 symbol 增加 2 之后,下面的迭代也会像 symbol 刚刚增加 1 一样运行。所以我的困境是,即使 symbol 增加了 2,它也会回到增加一,这使得做 symbol+=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
循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.