输入格式=src:destination:mob_no
输出=src的前两个字符,后接目的地的最后两个字符,然后是偶数索引处的数字之和(包括零)
加上从1开始的乘客顺序
例如:输入是
Paris:Delhi:9945672345,Berlin:Brussels:9456723456
并且输出应该是
Pahi251,Bels292
使用的代码
a="Paris:Delhi:9945672345","Berlin:Brussels:9456723456"
c=a[0][0:2]
d=a[0][9:11]
mob_no=a[0][12:]
i=0
sum=0
while(i<len(mob_no)):
if i%2==0:
e=mob_no[i]
sum=sum+int(e)
i=i+1
ticket =str(c)+str(d)+str(sum)+str(1)
print(ticket)
a
的赋值似乎是错误的。您的问题表明输入是一个字符串,而不是字符串列表您的代码尝试以固定偏移量获取子字符串,但当然,您的输入不是固定长度的;每个城市的长度可能不同于其他城市。相反,您只需要在分隔符上
split
加上":"
您可以使用
enumerate
使用索引变量循环列表,使用range
循环移动电话号码中的不均匀索引演示:https://ideone.com/YFC9hB
接下来,可能会尝试一次咬下一小块,然后找出代码的哪一部分没有达到您希望的效果。使用
print
语句,以便Python在程序中的每个有趣点告诉您每个变量的值。然后与你期望的进行比较,可能在用minimum reproducible example提问之前先用谷歌进行比较相关问题 更多 >
编程相关推荐