hnc-eduard/HNS/Excercises/12082023 Найти второй симво.../main.py

75 lines
2.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

def verify(message, expected, actual):
a = "========================="
print(a)
print(message)
if type(actual) != type(expected) or actual != expected:
print("FAILED!")
print(f"Expected value: {expected}")
print(f"Actual value: {actual}")
print(a)
return False
else:
print("SUCCESS!")
print(a)
return True
def verify_all(dataset):
summa_success = int()
summa_failed = int()
for result in dataset:
if verify(result[0], result[1], result[2]):
summa_success += 1
else:
summa_failed += 1
print("Total:", len(dataset), "Successful:", summa_success, "Failed:", summa_failed)
return True
def first_recurring_char(s):
array = []
p = 1
t = 0
k = str
if type(s) is str and s is not None:
for i in s:
if i.isalpha():
array.append(i)
k = i
t += 1
for j in array[0:t-1]:
if k == j:
p += 1
if p > 1:
return k
break
else:
return None
dataset = [ # Проверочные тесты, что вообще что-то работает
("first_recurring_char0", None, first_recurring_char([1])),
("first_recurring_char1", ("п"), first_recurring_char("у попа была собака")),
("first_recurring_char2", None, first_recurring_char("япчм")),
("first_recurring_char3", None, first_recurring_char(-2)),
("first_recurring_char4", ("q"), first_recurring_char("qwertyuiopq")),
# Тесты на пустые значения
("first_recurring_char5", None, first_recurring_char('')),
("first_recurring_char6", None, first_recurring_char(None)),
# Тесты на неверный тип
("first_recurring_char7", None, first_recurring_char(True)),
("first_recurring_char8", None, first_recurring_char({1212})),
# Тесты на редкие случаи
("first_recurring_char9", ("а"), first_recurring_char("у Попа была собака, он ее прибил")),
("first_recurring_char10", ("W"), first_recurring_char(("WWW"))),
("first_recurring_char11", ("Г"), first_recurring_char('гГваунзГг')),
]
verify_all(dataset)