2013-09-06 6 views
-1

Я новичок в программировании и пытаюсь изменить существующую программу. Оригинальная программа:Python3: Почему этот синтаксис недействителен?

def main(): 
    print("hello, world!") 
    x = int(input("give me a number! ")) 
    print(x+1,"is my favorite number!!") 

main() 

Я должен изменить его, чтобы сказать «привет, имени» и сказать, что х в квадрате являются избрами. номер.

Это то, что я напечатал в Vim:

def main() 
    x = int(input("What is your name?") 
    print("hello,"x) 

main() 

def main(): 
    y = int(input("give me a number!")) 
    print(y**2, "is my favorite number!!") 

main() 

Когда я бегу python3 он отвечает:

File "hello.py", line 1 
    def main() 
      ^
SyntaxError: invalid syntax 

Что это значит и как это исправить?

+0

Помимо фактических ошибок, вероятно, не очень хорошая идея иметь две функции 'main'. – user2357112

+0

@ user2357112 Вы уверены, что в любой момент в его коде есть две основные функции? – Hyperboreus

+0

@Hyperboreus: Я думаю, вы совершенно не поняли смысла. Однако проблемы с продолжительностью жизни разрабатываются, определяя две «главные» - это плохая идея. Тот факт, что только один доступен одновременно, не делает его лучше. – user2357112

ответ

4

Вам нужно двоеточие после определения функции на первой линию:

def main(): 
1

Вы недостающее двоеточие после Защиты основных()

def main(): 
    x = int(input("What is your name?")) 
    print("hello,"x) 
3

Вы недостающее двоеточие после main()

Здесь также отсутствует закрывающая скоба:

x = int(input("What is your name?") 

Я также думаю, что это, print("hello,"x) должен быть print("hello", x) (обратите внимание на запятую)

+0

Спасибо! Я установил, что, но теперь у меня есть проблема: печати («Привет,» х) ^ SyntaxError: неверный синтаксис –

+0

@KaraSilver: У вас есть запятые внутри строки, но вам нужна запятая также для отделения ' «привет», «и», как писал Эстет. Возможно, вы захотите отобразить запятую. Затем вы должны написать 'print (« hello, », x)'. Обратите внимание на вторую запятую - важно зафиксировать синтаксическую ошибку. – pepr

0

Вы должны использовать «:» после имени функции в Python и вы пропустили одну закрывающую скобку !!

def main() : 
     x = int(input("What is your name?")) 
     print("hello,"x) 
Смежные вопросы