Hur läser in data från fil (Python).
Du bör verkligen lägga python-kod innanför kod-taggar [ CODE] - kan bli helt omöjligt att förstå koden rätt om inte indenteringen är där.
Dessutom uppstår säkert felet du talar om i din klass "Index" när du parsar raderna. Tänk vad händer t.ex. om en rad du läser in inte innehåller alla fält? Din kod bör kunna hantera detta.
Tack för svar, behöver hjälp att skapa ett fungerande program av prototypen nedan. Programmet ska hämta rader från fil, lägga till månadskostnad, kvadratpris och skriva ut detta på ny fil enligt följande:
Bostader.txt
UPPSALA/2300000/90/4436/018-685800/Norbyvägen 46
ÅRE/52/35000052/0/0647-51100/Ottsjö Fårhagsvägen 11
Utskrift.txt
Område: UPPSALA
Pris: 2,300,000 kr
Boarea: 90 m²
Avgift: 4436 kr/mån
Tel: 018-685800
Gatuadress: Norbyvägen 46
Månadskostnad: 5536kr
Kvadratmeterkostnad: 23000 kr
class House: # Klass som beskriver ett bostadsobjekt.
# Initierar attributen för bostadsobjekt.
def __init__(self, zone, price, area, rent, phn, adress):
self.zone= zone # bostadsområde
self.price= price # bostadspris
self.area= area # boarea
self.rent= rent # hyra
self.phn= phn # telefonnummer
self.adress= adress # bostadsadress
# Beräknar månadskostnaden.
def month(self):
month= rent+((self.price-self.stake)*(rate/100)*(1-rebate/100)/12)
return month
# Beräknar pris/meter2.
def meter(self):
meter= price/area
return meter
# Returnerar en sträng som beskriver bostadsobjektet.
def __str__(self):
info= (self.zone, self.price, self.area, self.rent, self.phn, self.adress)
return info
class Index: # Klass som beskriver bostadsindex.
# Initierar attribut för index och listar bostadsobjekt från fil.
def __init__(self, housefile):
self.houses= list() # Lista över samtliga bostäder.
file= open(housefile, 'rU')
for line in file:
parts = line.strip().split('/')
if (len(parts)>=6):
house= House(parts[0], parts[1], parts[2], parts[3], parts[4], parts[5])
self.houses.append(house)
file.close()
# Sparar bostadsindex i en fil för utskrift.
def save(self, housefile):
file = open('c:/Users/Anderen/Desktop/printing.txt', 'wU')
for house in self.houses:
file.write(house.self.zone, self.price, self.area, self.rent, self.phn, self.adress)
file.write('\n')
file.close()
#### HUVUDPROGRAM
HOUSEFILE= ('c:/python32/boston.txt') # Lagrar bostad.txt på variabeln HOUSEFILE.
index= Index(HOUSEFILE)
print('Välkommen till Mäklarkuling, var god och fyll i dina uppgifter.\n') # Presenterar programmet.
rate= float(input('Ange aktuell bankränta (%): ')) # Läser in ränta.
stake= int(input('Ange kontantinsats (kr): ')) # Läser in kontantinsats.
rebate= float(input('Ange aktuell ränteavdrag(%): ')) # Läser in ränteavdrag.
# TEST: Skriver ut alla bostadsobjekt.
print ('Bostader:', len(index.houses))
for house in index.houses:
print ('house')
index.save(HOUSEFILE)
- Idag Sony läcker uppgifter i rättegång – så stort är Call of Duty 9
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 37
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 46
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
- Igår Veckans fråga: Vilket operativsystem föredrar du? 83
- Igår Bilar med smarta inslag ger fler dumma fel 63
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 88
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- 26 / 6 Inet frågar SweClockers – Vad skulle du vilja förbättra på Inet.se? 53
- Framtiden för C# och .Net i Sverige47
- Mekaniska tangentbord och tillbehör, allmän diskussion och frågor.6379
- Elbilar - Tråden för intresserade20459
- Strul med win 11 (och StartAllBack?)9
- iMac visar inte innehåller i extern HDD5
- Borra i betongvägg60
- Skulle behöva lite hjälp med val av utbildning!19
- Föra över mini DV till datorn via Firewire DV - USB0
- Starfield utvecklas med AMD:s välsignelse153
- Köpråd gamingdator, budget ca 25-33k15
- Säljes I5 12500
- Säljes LG 27'' UltraGear 27GP950 4K Nano IPS 160 Hz HDMI 2.1
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Säljes 1080 TI | Vattenblock | 1TB SSD | Apple Watch 4 Stainless | Hörlurar | Mikrofon
- Säljes Intressekoll: Xbox Series S 512Gb samt Switch Oled 64Gb Vit
- Sony läcker uppgifter i rättegång – så stort är Call of Duty10
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"37
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare46
- Veckans fråga: Vilket operativsystem föredrar du?83
- Bilar med smarta inslag ger fler dumma fel63
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet72
- Starfield utvecklas med AMD:s välsignelse153
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"88
Externa nyheter
Spelnyheter från FZ
- Över tre miljoner exemplar av Final Fantasy XVI har skeppats och sålts idag
- Sony råkar avslöja spelbudgetar och annat på grund av dålig märkpenna idag
- Alan Wake och CoD: Kallt krig snart på PS Plus igår
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster igår
- Fallout London flyttas för att slippa Starfield-konkurrensen igår