Я заставил свой код работать, но теперь мне нужно разделить его на функции ввода(), обработки() и вывода().
lista=[]
lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
lista.reverse()
rezultat=[]
c=0
for i in lista:
if i < 0:
i = i * -1
t = i
rev = 0
rev = rev * 10 + t % 10
t = t // 10
i = i * -1
rezultat.append(str(i))
else:
t = i
rev = 0
while t > 0:
rev = rev * 10 + t % 10
t = t // 10
if rev == i:
c=c+1
rezultat.append(str(i))
if c == 0:
print("")
print(','.join(rezultat))
Я действительно не знаю, как это сделать, поэтому было бы неплохо, если бы кто-нибудь мог мне помочь
Ну, мне нужно ввести список, например, 6556,123,181,10,-5, а числа с прекрасными ведьмами являются палиндромами и получить обратный вывод, например -5,181,6556, и если во введенном списке нет палиндромов, не должно быть никакого вывода, мой код работает, но мне нужно использовать функцию
Этот вопрос очень общий... Просмотрите Учебник по Python , в частности Определение функций. Прочитайте о том, как работают функции, и попытайтесь задать более конкретный вопрос о том, с чем вы боретесь.
Попробуйте использовать команду def,
так
def inp(): #declare a function
#your commands
inp() #run the commands
Не забудьте объявить глобальные переменные, также известные как те переменные, которые вы можете изменить во многих функциях с помощью команды global
.
Что-то вроде этого...
def input(clan):
lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
lista.reverse()
return lista
def processing(lista):
rezultat = []
c = 0
for i in lista:
if i < 0:
i = i * -1
t = i
rev = 0
rev = rev * 10 + t % 10
t = t // 10
i = i * -1
rezultat.append(str(i))
else:
t = i
rev = 0
while t > 0:
rev = rev * 10 + t % 10
t = t // 10
if rev == i:
c=c+1
rezultat.append(str(i))
if c == 0:
print("")
return(','.join(rezultat))
def output(result):
print(result)
if __name__ == '__main__':
result_list = input(clan)
result = processing(result_list)
output(result)
обновлено, чтобы сделать более независимым @sahasrara62
попробуй это
def get_input():
lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
lista.reverse()
return lista
def process_input(input):
rezultat=[]
c=0
for i in input:
if i < 0:
i = i * -1
t = i
rev = 0
rev = rev * 10 + t % 10
t = t // 10
i = i * -1
rezultat.append(str(i))
else:
t = i
rev = 0
while t > 0:
rev = rev * 10 + t % 10
t = t // 10
if rev == i:
c=c+1
rezultat.append(str(i))
if c == 0:
print("")
return rezultat
def main():
lista = get_input()
result = process_input(lista)
def output(xlist):
return ','.join(xlist)
output(result)
if __name__ == "__main__":
main()
это должно работать, но я не вижу необходимости делить его на функции, так как код может работать даже как одна функция.
Привет, большое спасибо, это мне очень помогло, но я не получаю результат от этого бывшего. Я ввожу компоненты списка 6556,123,181,10,-5, и вывод должен быть -5,181,6556, но я ничего не получаю
Ну, функция output
ничего не делает... Она должна быть print(','.join(xlist))
Ага, а что мне в него вставить, у него в обработке есть "rezultat rezultat", но он его нигде не печатает, а если я ставлю rezultat вместо xlist, он все равно ничего не делает
Можете ли вы предоставить подробную информацию о вашей цели, что вы пытаетесь сделать и что будет на выходе?