Вам дано 6 программ, решающих одну и ту же задачу. Некоторые из этих программ правильные, некоторые - неправильные.
Для каждой программы укажите, правильная ли она или нет. Если нет, то укажите почему: если возможно, укажите, как ее исправить, или напишите, что именно в ней неправильно (если это возможно).
Во входном файле записаны натуральные числа, которые могут быть разделены пробелами и концами строк (в том числе между числами может быть несколько пробелов, пустые строки и т.п.). Гарантируется, что количество чисел не меньше двух.
Выведите в выходной файл сумму всех чисел, кроме последнего.
Ввод | Вывод |
---|---|
1 2 3 4 5 6 |
15 |
sum = 0 with open("input.txt") as fin: curline = ":-)" while curline != "": curline = fin.readline() curlist = curline.split() for cur in curlist: sum += int(cur) if curline != "": last = int(curlist[-1]) sum = sum - last with open("output.txt", "w") as fout: print(sum, file=fout)
with open("input.txt") as fin: data = fin.read().split() sum = 0 for cur in data[:-1]: sum += int(cur) with open("output.txt", "w") as fout: print(sum, file=fout)
sum = 0 fin = open("input.txt") for curline in fin: for i in range(len(curline)): if curline[i].isdigit(): sum += int(curline[i]) last = int(curline[i]) sum = sum - last fout = open("output.txt", "w") print(sum, file=fout) fin.close() fout.close()
sum = 0 with open("input.txt") as fin: for curline in fin: curlist = curline.split() for cur in curlist: sum += int(cur) last = int(cur) sum = sum - last with open("output.txt", "w") as fout: print(sum, file=fout)
with open("input.txt") as fin: with open("output.txt", "w") as fout: sum = 0 data = fin.read().strip().split() for cur in range(len(data)): data[cur] = int(data[cur]) sum += data[cur] sum = sum - data[-1] print(sum)
sum = 0 with open("input.txt") as fin: data = fin.readlines() for cur in range(len(data) - 1): sum += int(data[cur]) with open("output.txt", "w") as fout: print(sum, file=fout)