2
当字符串的最后一个索引有“x”或“X”(它表示为10),所以如果我有像“1x”这意味着图11(1 + 10)ValueError:无效文字为int()与基10:'x'
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异常:与基座10无效字面对于int(): '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()
我该如何解决?
我可以这样做吗?如果(i == len(s1)-1)和((s1 [i] ==“x”)或(s1 [i] ==“X”))还是有更好的方法吗? – user1804925
@ user1804925:应该有效。你也可以在('x','X')'中做's1 [i] .lower()=='x''或s1 [i](我可能会做第一个,我自己。) – DSM