СПРОСИ ПРОФИ
👍
0
👎 04

Программа «Погода» на Python

Второй день изучаю Python и хочу написать код для того, чтобы можно было узнавать погоду в реальном времени. Хочу сделать вопрос в конце программы: если ответ будет положительный — перейти в начало, а если отрицательный — выйти из программы. У меня возникли трудности, прошу помочь.
Код:

import pyowm
from pyowm import OWM
from pyowm.utils import config
from pyowm.utils import timestamps
from pyowm.utils.config import get_default_config
print(«Здравствуйте! В этом приложении Вы можете узнать текущую погоду в любом городе мира!»)
config_dict = get_default_config()
config_dict['language'] = «ru»
owm = OWM('0c452287b708c312915658b8901ccd42', config_dict)
mgr = owm.weather_manager()
place = input(«Город в котором вы хотите узнать погоду: " + "\n»)
observation = mgr.weather_at_place(place)
w = observation.weather
temp = w.temperature('celsius')[«temp»]
wind = w.wind()[«speed»]
print("В городе " + place + " сейчас " + w.detailed_status)
print(«Температура равна " + str(temp) + "C°»)
print(«Скорость ветра составляет " + str(wind) + "м/с» + «\n»)
if temp < 0:
print(«Одевайся тепло, даже вода начинает замерзать!» + «\n\n»)
elif temp < -10:
print(«Ппц как холодно, вода уже лёд, а ты не забудь про шапку!» + «\n\n»)
elif temp < 10:
print(«Становится холодно, скоро будет снег.» + «\n\n»)
elif temp < 20:
print(«Достаточно прохладно, не ходи в шортах.» + «\n\n»)
else:
print(«Температура супер, можешь одеваться как хочешь :)» + «\n\n»)
yes = [«+», «Да», «да», «дА», «ДА»]
no = [«-», «Нет», «нЕт», «неТ», «НеТ», «НЕт», «нЕТ», «НЕТ»]
while True:
question = input(«Возможно, вы хотите узнать погоду в другом городе? " + "\n» + «(+ Да, — Нет)» + «\n»)
if question == yes:
continue
elif question == no:
print(«Всего доброго!»)
break
else:
print(«\n» + «Пожалуйста, ответьте на вопрос:»)

обучение Python IT изучение языков программирования программирование обучение     #1   08 ноя 2022 19:22   Увидели: 12 клиентов, 195 специалистов   Ответить
👍
0
👎 0
  #2   08 ноя 2022 19:24   Ответить
👍
0
👎 0
  #3   08 ноя 2022 19:27   Ответить
👍
0
👎 0

Трудности-то с чем?

👍
0
👎 0

Всю логику программы нужно обернуть в цикл, в конце программы предложить пользователю сделать ввод, сделать проверку ввода. Если ввод равен 0 то нужно сделать выход из цикла, если >=1 то продолжить программу, или запросить Y/N как в старых программах и проверять что ввел пользователь, но тогда нужна цикличная проверка того что ввел пользователь, если — R то программа должна сказать что такого результата быть не может и пользователь должен вести правильное значение.

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2024