Русский язык,
вопрос задал sabinaalieva6607,
8 месяцев назад
как составить приложение из слов солнце, ветер, радуга, улица, голубой, радостный, ледяной, летит, плывёт пишу
Ответы на вопрос
Ответил haloferaxx
0
Если можно использовать только данные слова, то примерно так:
По улице летит ледяной ветер, а по голубому небу радостно плывут солнце и радуга.
Предыдущий вопрос
Следующий вопрос
Новые вопросы
Обществознание,
1 месяц назад
Сравните культуру подросток и взрослых. определите критерии сравнения.
Математика,
1 месяц назад
Помогите решить х+2=3+х
0хХ=3…
Физика,
8 месяцев назад
Помогите со 2 пожалуйста…
Математика,
8 месяцев назад
8. Площа першого поля 45 га, а другого — 55 га. З 1 га першого
поля зібрали по 40 ц пшениці, аз 1 га другого поля — на 60 кг
менше. З якого поля зібрали більше центнерів пшениці і на
скільки?
Биология,
6 лет назад
Скільки типів гамет утворюють гібриди другого покоління, що є дигетерозиготами?
Геометрия,
6 лет назад
Найдите длину бокового ребра правильной четырехугольной усеченной пирамиды, стороны основания которой равны 10см и 4см, а апофема усеченной пирамиды – 4см.
0 / 0 / 0 Регистрация: 30.10.2012 Сообщений: 16 |
|
1 |
|
Пересчитать скорость ветра,заданную в метрах в секунду,километров в час29.04.2013, 18:46. Показов 7312. Ответов 6
Пересчитать скорость ветра,заданную в метрах/секунду В километры/час.Программа должна проектироваться таким образом,чтобы пользователь мог ввести в поле Скорость только целое положительное число Миниатюры
0 |
Singleton 179 / 74 / 8 Регистрация: 27.12.2012 Сообщений: 432 |
||||
29.04.2013, 19:03 |
2 |
|||
Только целое положительное число:
1 |
pirat5320 11 / 11 / 0 Регистрация: 17.02.2013 Сообщений: 50 |
||||
29.04.2013, 19:07 |
3 |
|||
сначала проверяете, является ли введенная строка числом:
1 |
Singleton 179 / 74 / 8 Регистрация: 27.12.2012 Сообщений: 432 |
||||
29.04.2013, 19:09 |
4 |
|||
1 |
leejack 192 / 173 / 37 Регистрация: 19.01.2010 Сообщений: 610 Записей в блоге: 1 |
||||||||
29.04.2013, 19:18 |
5 |
|||||||
Oleg_45,
Для того чтобы ввести только целое значение скорости, надо в обработчике событий TEdit.change Добавлено через 27 секунд
Для того чтобы ввести только целое значение скорости, надо в обработчике событий TEdit.change
1 |
Singleton 179 / 74 / 8 Регистрация: 27.12.2012 Сообщений: 432 |
||||
29.04.2013, 19:20 |
6 |
|||
Упс, а я-то думаю, что все говорят о целом числе
1 |
0 / 0 / 0 Регистрация: 30.10.2012 Сообщений: 16 |
|
29.04.2013, 19:33 [ТС] |
7 |
Спасибо
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
29.04.2013, 19:33 |
7 |
Из песочницы, Программирование, Python
Рекомендация: подборка платных и бесплатных курсов Python — https://katalog-kursov.ru/
Привет, Хабр!
Сегодня я буду делать консольное приложение «Погода» на Python с помощью requests и bs4.
Что будет делать эта программа?
- Показывать погоду в вашем городе.
- Показывать температуру воздуха.
- Показывать осадки.
- Показывать влажность.
- И скорость ветра.
Фронт работ ясен, значит можно приступать.
Установка модулей и создание папки с проектом
Для начала открываем командную строку и устанавливаем модули requests и bs4 с помощью этой команды:
pip install requests bs4
Отлично! Теперь создаем новую папку с именем «WeatherApp».
Далее в этой папке создаем файл main.py
Пишем код
Открываем этот файл и начинаем непосредственно писать код.
В начале импортируем нужные нам модули:
import requests
import os
import time
from bs4 import BeautifulSoup
os.system("cls")#Очищаем консоль
Хорошо.
Далее нужно выбрать сайт, с которого мы будем брать данные.
Я выбрал сайт Google Weather.
Открываем его и копируем весь текст из строки браузера:
Создаем переменную SITE и вставляем в нее URL:
SITE = 'https://www.google.com/search?sxsrf=ALeKk02B-rwjd_voK5Scd2O1FIP-lLKvUg%3A1586500409376&ei=OROQXsPPFpL8kwX0hIaYBQ&q=google+%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0&oq=google+%D0%BF%D0%BE&gs_lcp=CgZwc3ktYWIQAxgAMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLAToECAAQRzoECAAQQzoCCAA6BAgjECdKFAgXEhA3LTEzN2cxNTFnMzU3Zzg0Sg0IGBIJNy0xZzFnMWc0UJk0WL1CYJNPaABwAngBgAGgA4gBuRCSAQkwLjUuMS4yLjGYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab'
Далее создаем заголовки, если их не передать, будет считаться что заходит бот и наш URL адрес не будет обработан.
Чтобы вставить нужные заголовки мы создаем словарь с ключом User-Agent, а значение можно скопировать из Google просто написав в браузере my user agent.
Создаем словарь headers:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'} #В значении должен находиться ваш User-Agent
Далее нам нужно получить HTML разметку нашего сайта.
Создаем переменную full_page котороая будет хранить в себе разметку сайта.
full_page = requests.get(SITE, headers=headers)# Получаем HTML разметку сайта
#Google Weather
# Первое значение переменной full_page это URL сайта, а второе заголовки
Отлично!
С requests мы работать уже закончили, теперь нужно получить нужные теги с их классами и идендификаторами.
Пишем:
soup = BeautifulSoup(full_page.content, 'html.parser')
Для начала узнаем погоду. Для этого переходим на сайт Google Weather и открываем панель
разработчика с помощью сочетания клавиш Ctrl+Shift+I.
Далее жмем на этот инструмент:
А потом нажимаем на текст с погодой:
Теперь в окне разроботчика у нас подсветился нужный тег:
Итак, что мы видим: У нас есть тег span с классом vk_gy vk_sh и идендификатором wob_dc.
Отлично! Значит теперь мы можем узнавать какая сейчас погода!
Для этого создаем словарь в кортеже в котором будет хранится разметка нашей погоды:
weather = soup.findAll("span", {"class": "vk_gy vk_sh", "id": "wob_dc"})
# В этой строке кода мы ищем по всей HTML странице тег span с классом vk_gy vk_sh
# и идендификатором wob_dc
Точно также поступаем с другими элементами:
- Открываем панель разработчика (Ctrl+Shift+I).
- Далее жмем по инструменту «Выбрать».
- Жмем на нужный на элемент.
- Ищем нужные нам теги, классы и идендификотеры.
Вот остальной код:
temperature = soup.findAll("span", {"class": "wob_t", "id": "wob_tm"})
precipitation = soup.findAll("span", {"id": "wob_pp"})
hamidite = soup.findAll("span", {"id": "wob_hm"})
wind = soup.findAll("span", {"class": "wob_t", "id": "wob_ws"})
Далее значения этих кортежей нужно занести в переменные ввиде текста:
wind_var = wind[0].text # Заносим в переменную wind_var текст из HTML разметки
wind_lst = [] # Создаем список в котором позже будем сравнивать изменения ветра
wind_lst.append(wind_var)# Добавляем в список первый элемент
Поступаем так со всеми кортежами:
hamidite_var = hamidite[0].text
hamidite_lst = []
hamidite_lst.append(hamidite_var)
precipitation_var = precipitation[0].text
precipitation_lst = []
precipitation_lst.append(precipitation_var)
weather_var = weather[0].text
weather_var_lst = []
weather_var_lst.append(weather_var)
temp = tempreture[0].text
temp_lst = []
temp_lst.append(temp)
Далее создаем функцию котороя будет показывать текст Погоды, влажности и т.д, а также все время обновлять эти значения:
def current_weather():
full_page = requests.get(SITE, headers=headers)#Обновляем страницу
soup = BeautifulSoup(full_page.content, 'html.parser')
wind = soup.findAll("span", {"class": "wob_t", "id": "wob_ws"})#Обновляем значение скорости ветра
wind_var = wind[0].text
if wind_var != wind_lst[0]:#Если скорость ветра которая была до этого не равна текущей скорости то очистить список и занести в не новое значение
os.system("cls")#Очистить экран
wind_lst.clear()#Очистить список
wind_lst.append(wind_var)#Добавить в список новое значение
print("Weather:", weather_var_lst[0])#Вывести текст
print("Temperature:", temp_lst[0] + "°C")
print("Precipitaion:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
То же самое проделываем с отсальными переменными:
hamidite = soup.findAll("span", {"id": "wob_hm"})
hamidite_var = hamidite[0].text
if hamidite_var != hamidite_lst[0]:
os.system("cls")
hamidite_lst.clear()
Hamidate_lst.append(hamidite_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
precipitation = soup.findAll("span", {"id": "wob_pp"})
precipitation_var = precipitation[0].text
if precipitation_var != precipitation_lst[0]:
os.system("cls")
precipitation_lst.clear()
precipitation_lst.append(precipitation_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
weather = soup.findAll("span", {"class": "vk_gy vk_sh", "id": "wob_dc"})
weather_var = weather[0].text
if weather_var != weather_var_lst[0]:
os.system("cls")
weather_var_lst.clear()
weather_var_lst.append(weather_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
tempreture = soup.findAll("span", {"class": "wob_t", "id": "wob_tm"})
temp = tempreture[0].text
temp = int(temp)
if temp != temp_lst[0]:
os.system("cls")
temp_lst.clear()
temp_lst.append(temp)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
time.sleep(5)#Ждать 5 секунд что бы снова обновиться
Теперь осталось запихнуть эту функцию в цикл и наслаждаться результатом:
try:
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
while True:
current_weather()
except:
quit()
Если будет выходить ошибка то пользователь ее не увидит так как цикл находится в конструкции try.
Вот весь код:
import requests
import os
import time
from bs4 import BeautifulSoup
os.system("cls")
SITE = 'https://www.google.com/search?sxsrf=ALeKk02B-rwjd_voK5Scd2O1FIP-lLKvUg%3A1586500409376&ei=OROQXsPPFpL8kwX0hIaYBQ&q=google+%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0&oq=google+%D0%BF%D0%BE&gs_lcp=CgZwc3ktYWIQAxgAMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLATIFCAAQywEyBQgAEMsBMgUIABDLAToECAAQRzoECAAQQzoCCAA6BAgjECdKFAgXEhA3LTEzN2cxNTFnMzU3Zzg0Sg0IGBIJNy0xZzFnMWc0UJk0WL1CYJNPaABwAngBgAGgA4gBuRCSAQkwLjUuMS4yLjGYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'} #В значении должен находиться ваш User-Agent
full_page = requests.get(SITE, headers=headers)# Получаем HTML разметку сайта
#Google Weather
# Первое значение переменной full_page это URL сайта, а второе заголовки
soup = BeautifulSoup(full_page.content, 'html.parser')
weather = soup.findAll("span", {"class": "vk_gy vk_sh", "id": "wob_dc"})
# В этой строке кода мы ищем по всей HTML странице тег span с классом vk_gy vk_sh
# и идендификатором wob_dc
temperature = soup.findAll("span", {"class": "wob_t", "id": "wob_tm"})
precipitation = soup.findAll("span", {"id": "wob_pp"})
hamidite = soup.findAll("span", {"id": "wob_hm"})
wind = soup.findAll("span", {"class": "wob_t", "id": "wob_ws"})
wind_var = wind[0].text # Заносим в переменную wind_var текст из HTML разметки
wind_lst = [] # Создаем список в котором позже будем сравнивать изменения ветра
wind_lst.append(wind_var)# Добавляем в список первый элемент
hamidite_var = hamidite[0].text
hamidite_lst = []
hamidite_lst.append(hamidite_var)
precipitation_var = precipitation[0].text
precipitation_lst = []
precipitation_lst.append(precipitation_var)
weather_var = weather[0].text
weather_var_lst = []
weather_var_lst.append(weather_var)
temp = temperature[0].text
temp_lst = []
temp_lst.append(temp)
def current_weather():
full_page = requests.get(SITE, headers=headers)#Обновляем страницу
soup = BeautifulSoup(full_page.content, 'html.parser')
wind = soup.findAll("span", {"class": "wob_t", "id": "wob_ws"})#Обновляем значение скорости ветра
wind_var = wind[0].text
if wind_var != wind_lst[0]:#Если скорость ветра которая была до этого не равна текущей скорости то очистить список и занести в не новое значение
os.system("cls")#Очистить экран
wind_lst.clear()#Очистить список
wind_lst.append(wind_var)#Добавить в список новое значение
print("Weather:", weather_var_lst[0])#Вывести текст
print("Temperature:", temp_lst[0] + "°C")
print("Precipitaion:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
hamidite = soup.findAll("span", {"id": "wob_hm"})
hamidite_var = hamidite[0].text
if hamidite_var != hamidite_lst[0]:
os.system("cls")
hamidite_lst.clear()
Hamidate_lst.append(hamidite_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
precipitation = soup.findAll("span", {"id": "wob_pp"})
precipitation_var = precipitation[0].text
if precipitation_var != precipitation_lst[0]:
os.system("cls")
precipitation_lst.clear()
precipitation_lst.append(precipitation_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
weather = soup.findAll("span", {"class": "vk_gy vk_sh", "id": "wob_dc"})
weather_var = weather[0].text
if weather_var != weather_var_lst[0]:
os.system("cls")
weather_var_lst.clear()
weather_var_lst.append(weather_var)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
tempreture = soup.findAll("span", {"class": "wob_t", "id": "wob_tm"})
temp = tempreture[0].text
temp = int(temp)
if temp != temp_lst[0]:
os.system("cls")
temp_lst.clear()
temp_lst.append(temp)
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
time.sleep(5)#Ждать 5 секунд что бы снова обновиться
try:
print("Weather:", weather_var_lst[0])
print("Temperature:", str(temp_lst[0]) + "°C")
print("Precipitation:", precipitation_lst[0])
print("Hamidite:", hamidite_lst[0])
print("Wind:", wind_lst[0])
while True:
current_weather()
except:
quit()
Также можно реализовать функцию записи файл всех значений погоды или скорости ветра, а потом с помощью библиотеки matplotlib сделать диаграмму.
Спасибо за внимание!
Programm.ws — это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..
Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.
Составить 4 или 5 приложений о дожде + ветре.
Вы зашли на страницу вопроса Составить 4 или 5 приложений о дожде + ветре?, который относится к
категории Русский язык. По уровню сложности вопрос соответствует учебной
программе для учащихся 1 — 4 классов. В этой же категории вы найдете ответ
и на другие, похожие вопросы по теме, найти который можно с помощью
автоматической системы «умный поиск». Интересную информацию можно найти в
комментариях-ответах пользователей, с которыми есть обратная связь для
обсуждения темы. Если предложенные варианты ответов не удовлетворяют,
создайте свой вариант запроса в верхней строке.