You forgot to reassign the new values:
timeInSeconds = 1823
timeInMinutes = timeInSeconds / 60
timeInRest = timeInSeconds % 60
timeInMinutes = str(timeInMinutes)
timeInRest = str(timeInRest)
print("Your time in minutes and seconds is " + timeInMinutes + ":" + timeInRest)
Basically doing this :
str(timeInMinutes)
Does not mean your TimeInMinutes variable is now a string. You have to reassign it like so :
timeInMinutes = str(timeInMinutes)
I believe this is what you meant to do.
However, it could be useful to keep the int values for later. If that's the case, you could just create new variables like so :
timeInMinutesStr = str(timeInMinutes)
timeInRestStr = str(timeInRest)
print("Your time in minutes and seconds is " + timeInMinutesStr + ":" + timeInRestStr)
Or, you could just convert the values directly in the print, to avoid having to assign new variables that you might not use later :
print("Your time in minutes and seconds is " + str(timeInMinutes) + ":" + str(timeInRest))