У меня проблемы с текущей программой, которую я пишу.NameError: name 'countrychoice' не определен
Я разрешаю пользователю вводить страну, а затем город города в этой стране, а затем просматривать прогноз погоды для выбранного города с использованием API.
Я использую класс, например:
class requestChoice:
def __init__(self):
self.countrychoice = None
self.citychoice = None
def countryChoice(self):
self.countrychoice = input("Enter which country your city is in(in english): ")
def cityChoice(self):
self.citychoice = input("Enter the name of the city: ")
И моя основная программа выглядит следующим образом:
from requestchoice import requestChoice
import requests
if __name__ == '__main__':
"""Introducion"""
print ("\nThis program lets you see a weather forecast for your choosen city.")
rc = requestChoice()
while True:
print("\nWhen you have typed in country and city, press 3 in the menu to see the weather forecast for your choice.\n")
menu = input("\nPress 1 for contry\nPress 2 for city\nPress 3 to see forecast\nPress 4 to exit\n")
if menu == "1":
rc.countryChoice()
elif menu == "2":
rc.cityChoice()
elif menu == "3":
r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/forecast/q/" + countrychoice + "/" + citychoice + ".json")
data = r.json()
try:
for day in data['forecast']['simpleforecast']['forecastday']:
print (day['date']['weekday'] + ":")
print ("Conditions: ", day['conditions'])
print ("High: ", day['high']['celsius'] + "C", '\n' "Low: ", day['low']['celsius'] + "C", '\n')
except Exception as e:
print ("\nHave you typed in the correct country and city?\nBecause we got a" ,e, "error")
else:
print ("\nGoodbye")
break
Когда я запускаю свою программу, я получаю ошибку NameError: name 'countrychoice' is not defined
. Это будет та же ошибка с citychoice
. Я попытался создать список в своем классе и добавить countrychoice
в список, но без везения. Как я должен заставить его работать по своему желанию?
Можете ли вы пройти ** точную ** трассировку, пожалуйста? –