2016-12-02 5 views
-2

Я немного недавно играл с Python и столкнулся с этой ошибкой при создании функций. Я не могу это исправить :(CODE:.Python говорит: «ожидаемый отложенный блок»

Python

#Python 

choice = input('Append Or Write?')  
    if choice == "write": 
    def write(): 
    pass 
     text_file = open('WrittenTXT.txt', "w") 
     type_user = input('Type: ') 
     text_file.write(type_user) 
     text_file.close() 

if choice == "append": 
    def append(): 
# Making a txt file 
#Append 
pass 
text_file = open('WrittenTXT.txt', "a") 
user_int = input('Enter An Integer: ') 
space = "\n" * 2 
lines = [space, "Hi\n", "Hallo\n", "Bonjour\n", user_int] 
text_file.writelines(lines) 
text_file.close() 
+0

- эта часть функции? трудно сказать. помните в python, отступ определяет область. ваша первая строка (начиная с 'choice') не совпадает с строкой, расположенной под ней. может быть ваше форматирование в StackOverlow, но я сомневаюсь в этом. вернитесь через свой код и убедитесь, что линии в одной области выровнены. –

+3

Неверный отформатированный код - это ваша проблема. Я отсылаю вас к материалам Python, прежде чем задавать неясные вопросы. – dannyxn

ответ

1

Вы забыли назвать свои функции, которые вы определили pass также может быть причиной заявления в вашей функции. игнорируются, удалить pass

Переформатирование код:.

#Python 

def append(): 
     # Making a txt file 
     #Append 
     # pass 
     text_file = open('WrittenTXT.txt', "a") 
     user_int = input('Enter An Integer: ') 
     space = "\n" * 2 
     lines = [space, "Hi\n", "Hallo\n", "Bonjour\n", user_int] 
     text_file.writelines(lines) 
     text_file.close() 


def write(): 
    # pass 
    text_file = open('WrittenTXT.txt', "w") 
    type_user = input('Type: ') 
    text_file.write(type_user) 
    text_file.close() 

choice = input('Append Or Write?') 

if choice == "write": 
    write() 
if choice == "append": 
    append() 
+0

Я думаю, было бы разумно определить функции вне блоков 'if', поскольку этот макет мог ошибочно интерпретироваться, что функции должны определяться« на лету »(это то, что я думаю, что думал OP) – roganjosh

+1

Я согласен, я как правило, стараются оставить код как можно ближе к оригиналу OPs, но вы правы, что может привести к неправильной интерпретации лучших практик. будет обновляться, спасибо – davedwards

+0

Спасибо за помощь, теперь все прекрасно поддерживается благодаря вам. Я не могу поблагодарить вас за вашу помощь. У меня теперь есть рабочая программа, которая не просто говорит «Привет» LOL. Большое спасибо, –