#!/usr/bin/env python # coding: utf-8 # # Программирование для всех # # *Алла Тамбовцева, НИУ ВШЭ* # # ## Практикум 1: ввод-вывод и приведение типов # ### Задание 1 # # В переменных `a` и `b` хранятся некоторые числа. Напишите код, который бы менял значения переменных местами. Создавать вспомогательные переменные можно. # # *Пример:* # In[1]: # до a = 2 b = 5 # In[3]: # после print(a) print(b) # In[1]: # решение 1 (классическое) a = 2 b = 5 c = a a = b b = c print(a) print(b) # In[2]: # решение 2 (множественное присваивание) a = 2 b = 5 a, b = b, a print(a) print(b) # ### Задание 2 # # Напишите программу, которая запрашивает у пользователя с клавиатуры его рост в сантиметрах, его вес в килограммах (каждый показатель – с новой строки, в новом запросе) и выводит на экран сообщение вида: # # Индекс массы тела: [значение]. # # где вместо `[значение]` подставляется посчитанное значение индекса массы тела. # # Индекс массы тела считается так: # # $$\text{BMI}=\frac{\text{m}}{\text{h}^2},$$ # # где $\text{m}$ – масса тела в килограммах, $\text{h}$ – рост в метрах. # In[3]: # классическое форматирование строк # %f – float, %.2f – два знака после запятой h = float(input("Введите свой рост: ")) / 100 w = float(input("Введите свой вес: ")) bmi = w / h ** 2 print("Индекс массы тела: %.2f." % bmi) # In[4]: # f-strings # без округления print(f"Индекс массы тела: {bmi}") # In[5]: # f-strings # с округлением # f-строки умеют еще и простые функции обрабатывать print(f"Индекс массы тела: {round(bmi, 2)}") # ### Задание 3 # # Выполните задание 3, но вместо обычного запроса с клавиатуры используйте виджеты: # # * поле для ввода целого числа для роста в сантиметрах; # * слайдер с целыми числами от 0 до 250 с шагом 1 для веса. # # Примеры виджетов можно посмотреть [здесь](https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html). # In[6]: import ipywidgets as widgets # In[7]: # value: значение по умолчанию, если ничего не выбрано # description: текст с комментарием, как в input() # функция display() показывает виджет на экране height = widgets.IntText( value=165, description='Height:' ) weight = widgets.IntSlider( value=60, min=0, max=250, step=1, description='Weight:', orientation='horizontal' ) display(height) display(weight) # In[8]: # сами w и h – это виджеты # из них извлекаем значения, извлеченные пользователем, # забираем их через .value и используем далее BMI = weight.value / (height.value / 100) ** 2 print("Индекс массы тела: %.2f." % BMI)