I tried reading and saving a file's contents as a variable, tried converting it into a float and-
Traceback (most recent call last):
File "/Users/username/wageCalculator.py", line 26, in <module>
writeTotal.write(str(float(total)+float(getBal)))
TypeError: float() argument must be a string or a number, not '_io.TextIOWrapper
Heres the edited code:(changed directory names) age
import time
while True:
wage = 5
moneyPerSecond=(int(wage)/3600)
moneyPerMinute=(int(wage)/60)
print('Your wage per second is: $'+str(moneyPerSecond))
print('Please input the amount of minutes you worked. It must be a whole number.')
minutesWorked = input()
minuteWage = int(minutesWorked)*float(moneyPerMinute)
print('Please input the amount of seconds you worked. It can be a decimal.')
secondsWorked = input()
secondWage = float(secondsWorked)*float(moneyPerSecond)
print('Your total is: $' + str(float(minuteWage)+float(secondWage)))
total = float(minuteWage)+float(secondWage)
getBal = open('/Users/username/balance.txt','r+')
readBal = getBal.read()
getBal.close()
print('Current balance: $' + str(readBal))
print('Do you want to add this to your balance?')
print('Key in "y" for yes or "n" for no and press enter:')
yesOrNo = input()
if yesOrNo=='y':
open('/Users/username/balance.txt','w').close
writeTotal = open('/Users/username/balance.txt' ,'a')
writeToLog = open('/Users/username/balanceLog.txt','a')
writeToLog.write(str(total))
writeTotal.write(str(float(total)+float(readBal)))
writeTotal.close()
writeToLog.close()
elif yesOrNo=='n':
print('Reseting...')
time.sleep(1)
else:
print('Please try again.')
I have tried converting it into a string but it gives me the same error or so.
It would be great anyone could find out an answer. :p
Edit: I have tried getBal and readBal, and readBal gives me this error:
Traceback (most recent call last):
File "/Users/Jonathan_Xu/wageCalculator.py", line 27, in <module>
writeTotal.write(str(float(total)+float(readBal)))
ValueError: could not convert string to float: