Я пытаюсь создать программу, которая принимает ввод от пользователя, -1 или 1 для воспроизведения или выхода, количество символов (n), два слова для сравнения (s1, s2) и вызывает эту функцию: def strNcompare (s1,s2,n)
и затем печатает результат. Функция должна возвращать 0, -1,1, если n-символьная часть s1 равна, меньше или больше, чем соответствующий n-символ s2, соответственно. Так, например, если первая строка равна второй строке, она должна возвращать 0.
Цикл должен заканчиваться, когда пользователь вводит -1.
Я только начинаю на Python, поэтому код, который у меня есть, довольно грубый. Я знаю, что мне нужен оператор if / else для вывода результатов с использованием возвращаемого значения функции и цикла while для запуска программы.
Это то, что я имею до сих пор, это никоим образом не работает, но мои знания на этом заканчиваются. Я вообще не знаю, как интегрировать часть символа (n).
com = input ("String comparison [1(play), -1(quit)]: ")
while (com=='1'):
s1 = input ("enter first string: ")
s2 = input ("enter second string: ")
n = int(input("number of characters: ")
s1 = s1[:n]
s1 = s2[:n]
if com==-1:
break
def strNcompare(s1,s2,n):
return s1==s2
elif s1==s2:
print(f'{s1} is equal to {s2}')
elif s1>s2:
print (f'{s1} is greater than {s2}')
elif s1<s2:
print (f'{s1} is less than {s2}')
else:
print ("QUIT")
break
com = input ("String comparison [1(play), -1(quit)]: ")
По состоянию на 10/05/2019 - я пересмотрел код, и теперь я получаю синтаксическую ошибку в "s1 = s1 [: n]"