Найти - Пользователи
Полная версия: syntax error. Помогите новичку.
Начало » Python для новичков » syntax error. Помогите новичку.
1
Panzershracker
Добрый вечер!
Прохожу обучение по питону, базовый курс.
Сначала все было нормально, находил ошибки, гуглил, но сейчас столкнулся с проблемой которую никак не могу решить!
Дело в том что эту строку я даже не трогал, но показывает синтаксическую ошибку (ниже прикреплю).
Перекопал интернет, если у кого и возникала ошибка, так из-за того что не хватает где либо знака - заятой, двоеточия, кавычки.Но у меня вроде все правильно, сколько не проверял не пойму в чем дело.
Нужно пройти еще 6 уроков этого курса, и еще один курс из 10 уроков до начала основной программы, и на это у меня осталось 8 дней, а я с этим застрял.

Помогите пожалуйста.

 #coding : utf-8
import os
import psutil
import multiprocessing
import sys
import shutil
print("Программа составлена величайшим заклинателем змей, наслаждайтесь")
print("Привет!как тебя зовут?")
name = input("Ваше имя: ")
print(name, ", Добро пожаловать в python!")
answer = ""
while answer != "q":
	answer = input("Хочешь поработать? (Y/N/Q):")
	if answer == "y":
		print("Отлично, что мне сдеать?: ")
		print("(1)-Вывести информацию о системе")
		print("(2)-Вывести список файлов")
		print("(3)-Вывести список процессов")
		print("(4)-Продублирую файлы в текущей директории")
		print("(5)-Дублировать выбранный файл"
do = int(input("Укажите номер действия: "))
		if do == 1:
			print("текущая директория: ", os.getcwd())
			print("платформа: ", sys.platform)
			print("кодировка системы: ", sys.getfilesystemencoding())
			print("логин пользователя: ", os.getlogin())
			print("количество ядер: ", multiprocessing.cpu_count())
		elif do == 2:
			print(os.listdir())
		elif do ==3:
			print(psutil.pids())
		elif do == 4:
			print("Файлы скопированы")
			file_list = os.listdir()
			i = 0
			while i < len(file_list):
				newfile = file_list[i] + '.dupl'
				shutil.copy(file_list[i], newfile)
				i += 1
		elif do == 5:
			print("Выберите файл:")
			print(file_list)
		else :
			pass
	elif answer == "n":
		print("Bye!")
	elif answer == "q":
		print("Bye!")
	else :
		print("unknown answer")
	
 

C:\Users\panzershracker\Desktop\Проекты\Python>new.py
File “C:\Users\panzershracker\Desktop\Проекты\Python\new.py”, line 24
do = int(input(“Укажите номер действия: ”))
^
SyntaxError: invalid syntax



Заранее благодарен!
py.user.next
Отступ должен быть одинаковым.
  
		print("(5)-Дублировать выбранный файл"
		do = int(input("Укажите номер действия: "))
		if do == 1:

Panzershracker
  
else :
Пробел перед двоеточием убери.
AleksandrPavlovich
 		print("(5)-Дублировать выбранный файл"
А где закрывающая скобка?
Успехов в учёбе!
Panzershracker
AleksandrPavlovich

БАЛИН!!! Знаю ведь что надо было перед DO искать, но недогодался что это предыдущая строка!))))

Ребят, спасибо большое!!!

py.user.next
Отступ должен быть одинаковым.

Насчет отступа не понял.

DamMercul
Panzershracker
В питоне так заведено, что фигурных скобок нет, тут все решает 4 пробела или табы. Питон не поймет команды, если правильно ее не прочтет, а для этого и нужны отступы. Если будет 3 пробела на фоне 4 то питон сойдет с ума и пошлет прогера нафиг. Используй какой-нибудь IDE, он за тебя все сам сделает - в твое удовольствие. Например PyCharm, Sublime Text + anaconda, WingIDE, eclipse + pymodule и т.д.

UPD: Необязательно 4 пробела, можешь хоть 10, главное чтобы все строки разделялись именно 10 пробелами, если где-то 10, а где-то 4, то полюбому ошибка
Panzershracker
DamMercul

Все, понял о чем ты!
На тот момент я и так и сяк пытался и с табами и впритык, проблема была в скобке, но я понял тебя, спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB