取り組んでいるプログラムにこれ以上取り組めず、質問があります。最初にコードを投稿します。
私のクラスコードは次のようになります。
import requests
import json
class requestNew:
def __init__(self):
self.countrychoice = []
self.citychoice = []
def countryChoice(self):
countryc = input("Enter which country your city is in(in english): ")
self.countrychoice.append(countryc)
def cityChoice(self):
cityc = input("Enter the name of the city: ")
self.citychoice.append(cityc)
ご覧のとおり、入力があり、クラス関数からメイン スクリプトに入力しdef countryChoice(self):
たいdef cityChoice(self):
と考えています。
これは、現在のメイン スクリプトの関連部分がどのように見えるかです。
from requestnew import requestNew
if __name__ == '__main__':
"""Introducion"""
print ("\nThis program lets you see a weather forecast for your choosen city.")
rq = requestNew()
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 country\nPress 2 for city\nPress 3 to see forecast\nPress 4 to exit\n")
if menu == "1":
rq.countryChoice()
elif menu == "2":
rq.cityChoice()
現時点では、メインスクリプトはクラス関数を呼び出すだけで、入力を処理します。しかし、クラスからメインスクリプトに入力を取得するにはどうすればよいですか。
私のクラスでわかるように、入力は次のリストに追加されます。
def countryChoice(self):
countryc = input("Enter which country your city is in(in english): ")
self.countrychoice.append(countryc) #Here
また、メイン スクリプトで入力を取得した場合でも、入力を取得self.countrychoice.append(countryc)
してクラスに追加することは可能ですか? クラスの後半で、次のようなリスト項目を使用しているため、それを実行できる必要があります。
def forecastRequest(self):
r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/forecast/q/" + self.countrychoice[-1] + "/" + self.citychoice[-1] + ".json")
self.data = r.json()
上記のコードでわかるように、私は list-items を使用していますself.countrychoice[-1] + "/" + self.citychoice[-1]
。これは、API の正しいアドレスを取得するためです。
だから私の質問は、リストへの追加を台無しにすることなく、クラスからメインスクリプトに入力を取得するにはどうすればよいですか? それさえ可能なら。
不適切な説明や記述がありましたら申し訳ありません。初心者なので本当に困っています。