我正在嘗試製作一個簡單的Python代碼,用羅馬數字替換數字。爲了做到這一點,我需要得到每個數字的位置,用羅馬數字代替它。但是,我的代碼似乎不工作。使用if語句
number = range(1,21)
number = list(number)
number = str(number)
for i in number:
for x in i:
if i.index(x) == 0:
if x == "1":
x.replace(x, "X")
elif x == "2":
x.replace(x, "XX")
else:
if x == 1:
x.replace(x, "I")
elif x == 2:
x.replace(x, "II")
elif x == 3:
x.replace(x, "III")
elif x == 4:
x.replace(x, "IV")
elif x == "5":
x.replace(x, "V")
elif x == "6":
x.replace(x, "VI")
elif x == "7":
x.replace(x, "VII")
elif x == "8":
x.replace(x, "VIII")
elif x == "9":
x.replace(x, "IX")
else:
x.replace(x, "")
print number
我懷疑它與我的if語句的工作方式有關,但我不確定。任何意見,將不勝感激。
'x.replace(x,「X」)'你認爲這樣做了什麼? (然後閱讀文檔並重新評估你對該問題的回答) – njzk2
除了@ njzk2所說的內容之外,前三行還會生成一個長字符串,而不是你想要的字符串列表。嘗試在交互式Python提示符中鍵入'str(list(range(1,21)))'來查看。 –