Как сравнить строки на основе определенного количества символов - PullRequest
0 голосов
/ 06 октября 2019

Я хочу создать программу, которая использует ввод с клавиатуры для сравнения строк на основе количества введенных символов. Например, допустим, что количество введенных символов равно 3, а две строки - "томми" и "помидоры" ... он сравнил бы "том" и "том" и определил бы, что строки равны.

Я только начинаю с python. Я знаю, как сделать сравнение строк, но я не знаю, как включить сравнение символов. Я не нашел никаких ресурсов в Интернете, которые демонстрировали бы именно эту вещь, которую я хочу сделать.

s1 = input ("enter first string: ") 
s2 = input ("enter second string: ") 
n = input ("number of characters: ") 

if s1==s2:
 print(f'{s1} is equal than {s2}')
elif s1>s2:
 print (f'{s1} is greater than {s2}')
elif s1<s2:
 print (f'{s1} is less than {s2}')
else: 
 print ("Error")

Этот код не имеет сравнения символов. Код работает нормально.

Ответы [ 3 ]

0 голосов
/ 06 октября 2019

Вы должны сравнивать только первые n символов каждой строки.

, чтобы получить первые символы строки s1, используйте

s1[:n]
0 голосов
/ 06 октября 2019

Вы можете использовать регулярные выражения. При использовании «re.match», если обе подстроки совпадают, будет напечатано True, иначе false.

import re

s1 = input('enter first string: ') 
s2 = input('enter second string: ') 
n = int(input('number of characters: '))

print(re.match(s1[:n],s2[:n]))

0 голосов
/ 06 октября 2019

Вы можете вырезать строки, так что сохраняются только первые n символы:

s1 = input('enter first string: ') 
s2 = input('enter second string: ') 
n = <b>int(</b>input('number of characters: ')<b>)</b>
s1 = s1<b>[:n]</b>
s2 = s2<b>[:n]</b>

if s1 == s2:
 print(f'{s1} is equal than {s2}')
elif s1 > s2:
 print (f'{s1} is greater than {s2}')
elif s1 < s2:
 print (f'{s1} is less than {s2}')
else: 
 print ("Error")
...