There are a couple of things wrong. First, when checking if input is heart, you want heart in quotes since it is a string.
It goes from this:
while input("What can be touched but can't be seen?") != heart:
to this:
while input("What can be touched but can't be seen?") != "heart":
It is a small change, but it turns heart from a variable to a string.
Secondly, you can't do "print and". You would use and like this:
if x == 0 and y == 1:
The like would go into two separate lines, like this:
print("well done")
score = score + 1
The fixed code looks like this:
score = 0
print("Hello user")
print("do you want to answer my riddles")
print("of course yes")
while input("What can be touched but can't be seen?\n") != "heart":
print ("wrong")
print("well done")
score = score + 1
print(score)
Also, you want \n at the end of the input so the next print goes on a different line ("\n" is the way to insert a newline).