Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Ταλαιπωρείσαι άδικα. Πχ σε 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 δε νομίζω να είναι και τόσο διαφορετική.

  • Like 1
Δημοσ.
φαγητό 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). 

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...