Python :: Aufgabe #43 :: Lösung #1

2 Lösungen Lösungen öffentlich
#43

Aktuellen Aktienkurs auslesen und ausgeben

Fortgeschrittener - Python von Gustl - 08.11.2013 um 19:57 Uhr
Schreibe ein Konsolenprogramm welches den aktuellen Aktienkurs von eine Aktien deiner Wahl ausgibt.
Benutze hierfür eine API. Als kleine Anregung: yahoo finance API
#1
vote_ok
von jigga (4260 Punkte) - 12.06.2015 um 22:12 Uhr
Quellcode ausblenden Python-Code
import sys, urllib.request
#Zaehler fuer eine schoene Ausgabe
zaehler = 0

#Dictionary mit allen 30 Dow Jones Unternehmen
dic = {"MMM":"3M",                  "AXP":"American Express",   "AAPL":"Apple", 
       "BA":"Boeing",               "CAT":"Caterpillar",        "CVX":"Chevron", 
       "CSCO":"Cisco Systems",      "KO":"Coca-Cola",           "DFT":"DuPont", 
       "XOM":"Exxon Mobil",         "GE":"General Electric",    "GS":"Goldman Sachs", 
       "HD":"Home Depot",           "IBM":"IBM",                "INTC":"Intel", 
       "JNJ":"JohnsonJohnson",      "JPM":"JPMorgan",           "MCD":"McDonalds", 
       "MRK":"MerckCo",             "MSFT":"Microsoft",         "NKE":"Nike", 
       "PFE":"Pfizer",              "PG":"ProcterGamble",       "TRV":"Travelers Companies", 
       "UTX":"United Technologies", "UNH":"UnitedHealth Group", "VZ":"Verizon", 
       "V":"Visa",                  "WMT":"Wal-Mart",           "DIS":"Walt Disney", }

#Auflistung der Dow Jones Unternehmen
print(60*"-")
for key in sorted(dic, key=dic.get):
	print("{0:25}".format(dic[key]), end=' ')
	zaehler += 1
	if zaehler % 2 == 0 or zaehler == 29:
		print()
print(60*"-")

while True:
	index = 0
	suche_name = input("Fuer den aktuellen Aktienkurs bitte eins auswaehlen: ")

	for abkuerzung, name in dic.items():
		if name == suche_name:
			index = abkuerzung

	try:
		datei = urllib.request.urlopen(str("http://download.finance.yahoo.com/d/quotes.csv?s=@^DJI,") + index + str("&f=l1&e=.csv"))
	
	except:
		print("Flasche Eingabe oder Boese down.")
		continue

	text = datei.read()
	datei.close()

	kurs = ''.join(chr(text[i]) for i in range(0,len(text)-1))

	print("Akuteller Aktienkurs von", suche_name, "in $:", kurs)

	nochmal = input("Nochmal (j/n): ")

	if nochmal == 'j' or nochmal == 'J':
		continue
		
	else:
		break

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben