Python Forum

Full Version: These simple equations comes up as an error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I dont know what is going wrong and I would like to fix this.

DB = input()

x = "float(DB)/10"
y = "float(x)+11"
z = "float(y)/100"



print ("Is this the date of your birthday?"+z)
Thanks, M3RCY
Accepting that the logic is entirely flawed in the first place,
I think this is what you intended:

import datetime

try:
   DB = input("Date of Birth: ('yyyy-mm-dd'): ")
   datetime.datetime.strptime(DB, '%Y-%m-%d')
except ValueError:
   raise ValueError("Incorrect data format, should be YYYY-MM-DD")

x = float(DB[:4])
y = float(x+11)
z = float(y/100)

print ("Is {} the date of your birthday?".format(z))
Not sure what you are trying to do.
There are many ways to manipulate dates in existing python libraries
see: https://pypi.python.org/pypi?%3Aaction=s...mit=search
If I put it into context, would it make it easier? I am trying to make the value of "x" in the y equation and the "y" in the z equation. It carries on coming up with an error. Here is the full python code to put it into context:

print ("Hello!")
print ("What is your name?")

myName = input()
print ("It is good to meet you, " + myName)

import os
os.system('start calc.exe')

wait = input("Press ENTER to continue.")

print ("What day were you born on? E.g. 23rd of February= 23.")
print ("Multiply your number by 7 on the calculator provided.")
wait = input("Press ENTER to continue.")

print ("Subtact 1 from your answer.")
wait = input("Press ENTER to continue.")

print ("Multiply this by 13.")
wait = input("Press ENTER to continue.")

print ("What month were you born in? E.g. January= 1, February= 2.")
wait = input("Press ENTER to continue.")

print ("Add this to your current total.")
wait = input("Press ENTER to continue.")

print("Add 3")
wait = input("Press ENTER to continue.")

print("Multiply by 11")
wait = input("Press ENTER to continue.")

print ("Subtract your day of birth from your current total.")
wait = input("Press ENTER to continue.")

print ("Subtract the month of your birth.")
wait = input("Press ENTER to continue.")

print ("Please tell me the answer. If it isn't correct, I cannot work out your date of your birth.")

DB = input()

x = "float(DB)/10"
y = "float(x)+11"
z = "float(y)/100"



print ("Is this the date of your birthday?"+z)

The purpose of the program is to work out the day and month you were born on in a maths equation.
Since you did not post your code within code tags as you are supposed to, I will only comment on the code you supplied in the first post.

The way you have it written, 'DB' will be a string. 'x', 'y' and 'z' are also strings, since they are enclosed in quotes. You need to make 'DB' numeric and you need to remove the quotes from 'x', 'y' and 'z', so they actually are equations.
(Jun-26-2017, 09:00 PM)M3RCY Wrote: [ -> ]x = "float(DB)/10"
y = "float(x)+11"
z = "float(y)/100"
Those are strings. Strings are what they are, they aren't equations. If you want to do math, stop putting things in a string.

ie:
>>> DB = 4
>>> x = "float(DB)/10"
>>> y = "float(x)+11"
>>> z = "float(y)/100"
>>> x
'float(DB)/10'
>>> y
'float(x)+11'
>>> z
'float(y)/100'
>>>
>>> x = float(DB)/10
>>> x
0.4
>>> y = x+11
>>> y
11.4
>>> z = y/100
>>> z
0.114