Как определить последний ввод данных и вывести сначала s, потом списки p?
Вот код:
def r(a):
global s
p=[]
k = len(a)//3
if a[:k]==a[k:k*2]==a[k*2:]:
p.append(a[:k])
else:
if a[:k]==a[k:k*2]:
p.append(a[:k]+'*')
s += 1
elif a[:k]==a[k*2:]:
p.append(a[:k]+'*')
s += 1
elif a[k*2:]==a[k:k*2]:
p.append(a[k*2:]+'*')
s += 1
print(p)
return s
def main():
global h
while True:
try:
t = input()
r(t)
except (ValueError, EOFError):
return
if __name__ == "__main__":
s=0
main()
И ввод данных в столбик:
- 181818
- 191818
- 181918
- 181819
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Можно не печатать сразу результаты вычислений в функции, а вернуть из через return и потом уже напечатать в нужном порядке и формате в основном коде:
def r(a):
# ...
return s, p
s, p = r(t)
print(s)
print('\n'.join(p))