pmav99 Δημοσ. 21 Απριλίου 2013 Δημοσ. 21 Απριλίου 2013 Ταλαιπωρείσαι άδικα. Πχ σε Python θα μπορούσε να γραφεί κάπως έτσι: filename = "mine.txt" # read file with open(filename, "r") as f: lines = f.readlines() prices = [] for line in lines: price = line.split("=")[1] # keep whatever follows the equal sign price = price.replace(",", ".") # replace decimal sign prices.append(float(price[:-2])) # remove the dollar sign and convert to float print(prices) print(sum(prices)) Ο κώδικας δεν είναι πολύ robust, αλλά για το αρχείο που έδωσες δουλεύει. Για πιο γενικό input θέλει να ελέγξεις και άλλα πράγματα. Μία καλύτερη και γενικότερη λύση θα ήταν να χρησιμοποιηθούν regular expressions αλλά μάλλον θα σε μπερδέψουν. Η λογική πάντως και σε VB δε νομίζω να είναι και τόσο διαφορετική. 1
Apoll Δημοσ. 21 Απριλίου 2013 Δημοσ. 21 Απριλίου 2013 φαγητό 1 = 23,56$ φαγητό 2 = 15,50$ φαγητό 3 = 33,43$ φαγητό 4 = 53,23$ φαγητό 5 = 13,16$ Αν είναι ακριβώς έτσι, για κάθε γραμμή που θα διαβάζεις, θα σπας το string στο = (VB.NET που αναφέρεις παραπάνω Split), και θα έχεις δύο substring, το α (π.χ φαγητό 1) και το β ( 23,56$) α= <string>.Substring(0, <string>.Indexof("=")) β=<string>.Substring(<string>.Indexof("=") +1, <string>.length -1) Ρίξε και ένα trim, έναν έλεγχο μην βγαίνεις εκτός μεγέθους τους string, και κάνει ότι θες με αυτά τα string πλέον. Διαφορετικά χρησιμοποιείς την split στο = και πέρνεις ένα string() (array). 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα