Найти - Пользователи
Полная версия: Помогите с кодом
Начало » Python для новичков » Помогите с кодом
1
Transport
Читаю книжку “Легкий способ выучить Пайтон 3” и делаю там упражнение на закрепление 26. Там, где нужно подправить чужой код, чтобы работал. Так вот не пойму почему вот этот исправленный код выдает ошибку. Ткните носом. Уже всю голову себе сломал.


print(“Сколько вам лет?”, end=' ‘)
age = input()
print(“Какого вы роста?”, end=’ ‘)
height = input()
print(“Сколько вы весите?”, end=’ ‘)
weight = input()

print(f“Итак, вам {age} лет, ваш рост - {height} и ваш вес - {weight}.”)

from sys import argv
script, filename = argv

txt = open(filename)

print(f“Вот ваш файл {filename}:”)
print(txt.read())

print(“Снова укажите имя файла:”)
file_again = input()

txt_again = open(file_again)

print(txt_again.read())


print(’Давайте попрактикуемся!')
print('Вы должны знать об управляющих последовательностях с символом \\, которые')
print('\n управляют переносом строк и \t отступами.')

poem = “”“
\tДля счастья
мне совсем немного надо.
Хочу тебя \n я нежно обнимать.
Хочу всегда
я быть с тобою рядом
\n\t\tи никогда не отпускать!

”“”

print(“————–”)
print(poem)
print(“————–”)


five = 10 - 2 + 3 - 6
print(f“Здесь должна быть пятерка: {five}”



def secret_formula(started):
jelly_beans = started * 500
jars = jelly_beans / 1000
crates = jars / 100
return jelly_beans, jars, crates

start_point = 10000
beans, jars, crates = secret_formula(start_point)

# помните, что это еще один способ форматирования строки
print(“Начиная с: {}”.format(start_point))
# так же, как со строкой f“”
print(f“У нас есть {beans} бобов, {jars} банок и {crates} ящиков.”)

start_point = start_point / 10

print(“Мы также можем сделать это таким образом:”)
formula = secret_formula(start_point)
# простой способ применить список к форматируемой строке
print(“У нас есть {} бобов, {} банок и {} ящиков.”.format(*formula))


people = 20
cats = 30
dogs = 15


if people < cats:
print (“Слишком много кошек! Мир обречен!”)

if people > cats:
print(“Не так много кошек! Мир спасен!”)

if people < dogs:
print(“Мир утоп в слюнях!”)

if people > dogs:
print(“Мир сухой!”)


dogs += 5

if people >= dogs:
print(“Людей больше или столько же, сколько собак.”)

if people <= dogs:
print(“Людей меньше или столько же, сколько собак.”)


if people == dogs:
print(“Людей столько же, сколько собак.”)

Transport
Вот файл с кодом приложу. А то что-то как-то криво на форуме он копируется.
py.user.next
Transport
Ткните носом. Уже всю голову себе сломал.
Строка, где {five}, незакрытая круглая скобка.
Transport
py.user.next
СПАСИБО!!!! Как это я просмотрел? Не пойму только почему ошибка была на строку, где функция определяется. def …
PS. Скобку закрыл, код заработал. Еще раз спасибо!
py.user.next
Transport
Не пойму только почему ошибка была на строку, где функция определяется
Потому что функция начала определяться посреди вызова другой функции и не смогла это сделать. Если просто скобку не закрыть в строке, в этом ошибки нет, так закрывающая скобка ожидается на следующих строках.

Вот это правильная запись
  
print(
 
'hello'
 
)
Transport
Теперь в голове все встало на свои места. Еще раз спасибо. Действительно, получается функция пытается определиться из-под print. Но логичнее, на мой взгляд, пайтону было бы указать на отсутствие закрывающей скобки в строке с print.
py.user.next
Transport
Но логичнее, на мой взгляд, пайтону было бы указать на отсутствие закрывающей скобки в строке с print.
Отсутствие скобки на той же строке - не ошибка. Питон показывет тебе то место, где возникла ошибка. А возникла она где? Питон не показывает причины ошибок. Он показывет те места, где что-то произошло.
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