Как сделать тест с ответами из внешнего файла?

Shadow + Border + Corner Radius enter image description here [/g0]

    scrollview.backgroundColor = [UIColor whiteColor]; 
    CALayer *ScrlViewLayer = [scrollview layer];
    [ScrlViewLayer setMasksToBounds:NO ];
    [ScrlViewLayer setShadowColor:[[UIColor lightGrayColor] CGColor]];
    [ScrlViewLayer setShadowOpacity:1.0 ];
    [ScrlViewLayer setShadowRadius:6.0 ];
    [ScrlViewLayer setShadowOffset:CGSizeMake( 0 , 0 )];
    [ScrlViewLayer setShouldRasterize:YES];
    [ScrlViewLayer setCornerRadius:5.0];
    [ScrlViewLayer setBorderColor:[UIColor lightGrayColor].CGColor];
    [ScrlViewLayer setBorderWidth:1.0];
    [ScrlViewLayer setShadowPath:[UIBezierPath bezierPathWithRect:scrollview.bounds].CGPath];
1
задан martineau 17 January 2019 в 12:44
поделиться

1 ответ

Как отмечается в комментариях, в одной из строк есть завершающие символы новой строки. Следовательно, они не равны.

Однако я бы не просто удалил новую строку. Всегда хорошая практика, если ваша логика это позволяет, нормализовать строки перед проверкой на равенство. Есть много вещей, которые вы можете сделать для нормализации:

def normalize(string):
    string = string.strip()  # Remove any leading or trailing whitespaces
    string = string.lower()  # Make all letters lowercase 
    string = " ".join(string.split())  # If the user hit spacebar twice, for example, will remove the double space. Note can have side effects.
    return string 

Затем проверьте

if normalize(string1) == normalize(string2):
    do_something() 

На самом деле, если вы имеете дело с пользовательским вводом, даже этого может быть недостаточно. Например, если пользователь делает опечатку, она не будет соответствовать.

Поэтому я рекомендую также взглянуть на библиотеку нечетких слов

from fuzzywuzzy import fuzz 

def similar(string1, string2):
    ratio = fuzz.ratio(string1, string2)
    return ratio >= 85  # number between 0 and 100. Higher means fewer differences are allowed

. Нечеткий язык очень мощный и простой в использовании. Для получения дополнительной информации: https://github.com/seatgeek/fuzzywuzzy

0
ответ дан Neil 17 January 2019 в 12:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: