Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Python3: математика / Математические операции в python3

  • На этом уроке мы выполним простые математические операции на python3
  • Дата отправки отчёта: 27 февраля 2019 г.
  • Задание выполнено: за 1 час. 19 мин.
  • Чему научился: Отличный урок! Я сделал иначе =)))
    Миникалькулятор:
    # завершили Приветствие миру, переходим к серьёзным программам :)
    # print ('Hello VS!')
    #
    print ('Сейчас будем вести сложные технические вычисления,')
    x = float(input('Please enter number one:'))
    y = float(input('Please enter number two:'))
    operation = input('Operation?:')
    result = None
    # Далее побежала инструкция
    if operation == '+':
    result = x + y
    elif operation == '-':
    result = x - y
    elif operation == '*':
    result = x * y
    elif operation == '/':
    result = x / y
    else: print ('Error')
    if result is not None:
    print ('Result:', result)
  • Что было сложным: Пока просто...
    Попробуйте повторить.
  • Оценка видео-уроку:
Отчёт от 19475 за Python3: математика / Математические операции в python3




Оцени работу

 
Сохранить страницу:

19475. --
Konstantin
Konstantin
ответить
# Python3: математика / Математические операции в python3 / 2019-02-27 14:30

Изменяемые и неизменяемые типы данных (Я не умничаю, просто этот момент я сам для себя не усвоил, а он мне кажется очень важным)
Все данные относятся к одному из двух типов – неизменяемые или изменяемые. Очевидно, что первые в конце программы выглядят точно так же, как и в начале. К ним относятся числа, строки и кортежи. С другой стороны, списки и словари могут измениться в процессе работы. Например, добавятся или удалятся элементы.
Когда данные передаются в функцию, способ их обработки зависит от типа. Например, для неизменяемых чисел создается независимая копия. Следовательно, любое преобразование внутри функции не повлияет на исходное число. И наоборот, вместо изменяемого списка передается указатель на то место в памяти, где он хранится. Таким образом, все трансформации повлияют на внешний объект.

def foo(a=[]):
    a.append(1)
    print(a)

foo()
foo()
foo()
1
2
3
4
5
6
7
def foo(a=[]):
    a.append(1)
    print(a)

foo()
foo()
foo()
Первый вызов функции foo предсказуемо выведет список, состоящий из одного элемента 1. Однако если вы ожидаете такого же результата от второго и третьего вызовов, то будете удивлены. На самом деле, вывод будет следующим:

# [1]
# [1, 1]
# [1, 1, 1]
1
2
3
# [1]
# [1, 1]
# [1, 1, 1]
Так происходит, потому что при первом вызове в памяти создается пустой список a. Именно к нему функция будет обращаться и дальше, если не получит собственный аргумент. Так как список не копируется, а передается по ссылке, он будет изменяться.

Эту концепцию важно понять, чтобы не допускать подобных ошибок. Их сложно отследить в процессе отладки, поэтому приходится тратить много времени на поиск проблемы.


791. --
Валерий Жданов
Валерий Жданов
ответить

  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   21095Volodymyr0   7119Новопашин Владимир+1   3922Александр+1   791Валерий Жданов+1   20659no name+1   1Евгений Волосатов+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Научился выполнять арифметические операции Самое большое число которое посчитал: 1000 в степени 1000



Научился: Отличный урок! Я сделал иначе =))) Миникалькулятор: # завершили Приветствие миру, переходим к серьёзным программам :) # print ('Hello VS!') # print ('Сейчас будем вести сложные технические вычисления,') x = float(input('Please enter number one:')) y = float(input('Please enter number two:')) operation = input('Operation?:') result = None # Далее побежала инструкция if operation == '+': result = x + y elif operation == '-': result = x - y elif operation == '*': result = x * y elif operation == '/': result = x / y else: print ('Error') if result is not None: print ('Result:', result)
Трудности: Пока просто... Попробуйте повторить.