• Можете помочь с исправить ошибку в коде?

    @PavelMos
    Вместо перебора всего диапазона строчных букв на совпадение с искомой проще проверить, входит ли ord(x) в диапазон.
    Диапазон задать через range, и создать один список из двух списков из диапазон для маленьких кириллицы и маленьких латиницы. К концу диапазона добавлена 1 так питон при работе с диапазонами не включает само число конца диапазона.
    rangeCapital=list ( range(65,91+1) ) + list (range(1040, 1071+1) ) 
    if ord(x) in rangeCapital: ....
    Ответ написан
    1 комментарий
  • Можете помочь с исправить ошибку в коде?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Что-то как-то перемудрили... Так не проще?:
    def func(a, b):
        if not str(a).isalpha() or not str(b).isalpha():
            return -1
        elif a.isupper() and b.isupper():
            return 1
        elif a.islower() and b.islower():
            return 1
        return 0
        
    print(func(1, 'a'))
    # -1
    print(func('a', 'b'))
    # 1
    print(func('A', 'a'))
    # 0
    print(func('A', 'B'))
    # 1
    Ответ написан
    2 комментария
  • Просит ввести что-либо, хотя никакого input`а нет, что делать?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Наверное подразумевалось вынесение последнего elif из этого блока if в отдельный

    count = 0
    number = 1
    while True:
        if number == 1:
            number += 1
            continue
        elif number % 2 == 0 or number % 3 == 0 or number % 5 == 0 or number % 7 == 0:
            count += 1
        if count == 10001:
            break
        number += 1
    print(number)
    Ответ написан
    Комментировать
  • Зачем нужен return, когда есть print?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Если нужно просто вывести на экран результат - разницы нет, в данном примере. Если нужно в дальнейшем использовать значение, возвращенное функцией, то, конечно, нужен return. Допустим, как тут, если нужно сравнить два числа, и вернуть из них большее, чтобы затем работать с ним дальше, можем сделать так:
    def func(x, y):
        if x > y:
            return x
        elif x == y:
            return 'Числа равны.'
        else:
            return y
    
    max_num = func(3,4)

    И в результате в переменной max_num будет наше наибольшее число (ну, либо текст). В данном примере несовсем понятно, конечно.

    Ну вот допустим у нас есть встроенная функция max, которая возвращает максимальное значение из переданных параметров, нечто похожее на то, что сделали вы. Для более наглядного примера я бы рассмотрел random.choice()

    Предположим, у нас есть список элементов и нам надо из него выбрать случайный элемент и работать с ним дальше. Мы вызываем random.choice(), который через return вернет нам этот случайный элемент и мы будем с ним работать дальше. Например, использовать его как часть текста.
    greetings = ['Привет', 'Hello', 'Здравствуйте']
    
    greeting = random.choice(greetings)
    
    print(f'{greeting}, master')


    В итоге при каждом запуске кода мы будем получать случайный элемент списка в переменную, и все это благодаря наличию return в методе choice. Если бы там было не возвращение элемента через return, а просто print. то тогда наш случайный элемент печатался в консоль и на этом все. Ну, надеюсь понятно.

    В функцию вы передаете свои переменные и получаете из нее результат работы через return, для использования этого результата в дальнейшем. Если такой результат не нужен - то и return по сути тоже не нужен.

    Если надо будет найти максимальный элемент и использовать его в дальнейшей работе, то с таким кодом -
    def func(x, y):
        if x > y:
            print(x)
        elif x == y:
            print('Числа равны.')
        else:
            print(y)
    
    max_num = func(3,4)
    print('Максимальное число -', max_num)

    получите None в ответе.
    Ответ написан
    2 комментария
  • Зачем нужен return, когда есть print?

    @StivenHolland
    Программист-самоучка
    Смотрите: print() - это отдельная функция, которая выводит результат, но бывают случаи, когда результат функции нужно сохранить в переменной, допустим. В таком случае делают return функции - За функцией закрепляется значение. В предложенном вами варианте нет разницы в использовании обоих вариантов!
    Ответ написан
    Комментировать
  • Проблема с кодом на Python. Поможете?

    Vindicar
    @Vindicar
    RTFM!
    pronoun == "I" or "he" or "she" or "it"
    Так работать не будет. Если тебе нужно проверить несколько вариантов, либо используй логическое ИЛИ правильно
    pronoun == "I" or pronoun == "he" or pronoun == "she" or pronoun == "it"

    либо проверяй на вхождение в коллекцию
    pronoun in ("I", "he", "she", "it")
    Ответ написан
    1 комментарий