1.题目
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
2.第一次提交
lst = list(map(int, input().split()))
new_lst = []
count = 0
for i in range(0,len(lst),2):
xi, zhi = lst[i], lst[i+1]
new_xi = xi * zhi
new_zhi = zhi - 1
if new_xi != 0:
new_lst.append(str(new_xi))
new_lst.append(str(new_zhi))
print(' '.join(new_lst))
第一遍提交有一个测试点没过,显示答案错误,原因是没考虑输入用例中的数据全不符合的情况
3.最终代码
lst = list(map(int, input().split())) # 将输入的用例用空格分割转换成int类型存储到列表中并赋值给lst
new_lst = [] # 定义一个用于存储输出数据的空列表
for i in range(0,len(lst),2): # 遍历列表的长度作为下标,步长为2
if lst[i] and lst[i+1]: # 如果相邻的两个数不为0
new_xi = lst[i] * lst[i+1] # 那么新的系数为输入的系数*指数
new_zhi = lst[i+1] - 1 # 新的指数为输入的指数-1
new_lst.append(str(new_xi)) # 分别转换为str类型(方便后续''.join()输出)存储到新列表当中去
new_lst.append(str(new_zhi))
if len(new_lst) != 0: # 如果新列表的长度不为0
print(' '.join(new_lst)) # 用空格连接列表中的数据并输出
else:
print("0 0") # 否则输出0 0