You are returning a tuple, and that's what is being printed. Just because you return multiple items separate by commas does not mean print() will see those as separate arguments. Otherwise, how would you print a tuple as a tuple?
If you wanted to print the contents of the tuple as separate arguments, use the *argument call syntax:
print(*fishstore("sardines", 5))
The *argument syntax makes it explicit you want to unpack all the values into separate items for print() to process.
The function isn't all that useful, really. It might be more useful to use string formatting to put the item and price together into a single string to print:
def fishstore(fish, price):
total = "Your {} costs {}$".format(fish, price)
return total
at which point print(fishstore("sardines", 5)) will work just fine.
If you are using Python 3.6 (or newer), you can use the f'....' formated string literals syntax too:
def fishstore(fish, price):
total = f"Your {fish} costs {price}$"
return total