文字列の最後のインデックスに「x」または「X」がある場合(10として表されます)、「1x」のようなものがある場合、これは11(1 + 10)を意味します
def main():
s1 = "013162959x"
partial_sums(s1)
def partial_sums(s1):
lst =[]
sum = 0
for i in range(len(s1)):
if (i == len(s1) -1) and (s1[i] == "x" or "X"):
sum = sum + int(s1[i]) + 10
else:
sum = sum + int(s1[i])
lst.append(sum)
print(lst)
main()
ValueError: invalidliteral for int() with base 10: 'x' が発生しました
出力は [0, 1, 4, 5, 11, 13, 22, 27, 36, 46] でなければなりません
文字列に「X」値が含まれていない場合、正常に機能します。
def main():
s1 = "0131629592"
partial_sums(s1)
def partial_sums(s1):
lst1 =[]
sum = 0
for i in range(len(s1)):
sum = sum + int(s1[i])
lst1.append(sum)
print(lst1)
main()
どうすれば修正できますか?