IDLE выдаёт ошибку в синтаксисе, не могу найти

Можете ,пожалуйста, объяснить новичку че здесь не так?

age = int(input("Сколько вам лет?"))
name = str(input("Вас зовут Вася?"))
if name=="да" or name =="Да" or name =="ДА":
    print("Привет, Вася, тебе str(age) лет")
else:
     namee = str(input("Тогда как вас зовут?")
     print("Привет, str(namee) , тебе str(age) лет")

Ответы (1 шт):

Автор решения: Danis

Первая ошибка:

namee = str(input("Тогда как вас зовут?")

здесь в конце не хватает закрытие скоби. В конце добавьте )

Вторая ошибка:

print("Привет, Вася, тебе str(age) лет")

и

print("Привет, str(namee) , тебе str(age) лет") 

надо сделать так:

print("Привет, Вася, тебе " + str(age) + "лет")

и

print("Привет" + namee + ", тебе" + str(age) + " лет") 

также советую почитать про форматирование строк и F - строки

И третье input возвращает строку по этому str(input()) писать ни надо.


И вот это:

if name=="да" or name =="Да" or name =="ДА":

можно заменить на это:

if name.lower() == "да":

Функция lower() возвращает копию строки, в которой все символы в нижнем регистре.

→ Ссылка