Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2024 08:21:54

Transport
Зарегистрирован: 2024-10-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом

Читаю книжку “Легкий способ выучить Пайтон 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(“Людей столько же, сколько собак.”)

Офлайн

#2 Окт. 23, 2024 08:25:45

Transport
Зарегистрирован: 2024-10-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом

Вот файл с кодом приложу. А то что-то как-то криво на форуме он копируется.

Прикреплённый файлы:
attachment ex26.py (2,9 KБ)

Офлайн

#3 Окт. 27, 2024 05:29:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Помогите с кодом

Transport
Ткните носом. Уже всю голову себе сломал.
Строка, где {five}, незакрытая круглая скобка.



Офлайн

#4 Окт. 28, 2024 06:07:53

Transport
Зарегистрирован: 2024-10-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом

py.user.next
СПАСИБО!!!! Как это я просмотрел? Не пойму только почему ошибка была на строку, где функция определяется. def …
PS. Скобку закрыл, код заработал. Еще раз спасибо!

Офлайн

#5 Окт. 28, 2024 22:46:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Помогите с кодом

Transport
Не пойму только почему ошибка была на строку, где функция определяется
Потому что функция начала определяться посреди вызова другой функции и не смогла это сделать. Если просто скобку не закрыть в строке, в этом ошибки нет, так закрывающая скобка ожидается на следующих строках.

Вот это правильная запись
  
print(
 
'hello'
 
)



Отредактировано py.user.next (Окт. 28, 2024 22:48:32)

Офлайн

#6 Окт. 30, 2024 19:18:44

Transport
Зарегистрирован: 2024-10-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом

Теперь в голове все встало на свои места. Еще раз спасибо. Действительно, получается функция пытается определиться из-под print. Но логичнее, на мой взгляд, пайтону было бы указать на отсутствие закрывающей скобки в строке с print.

Офлайн

#7 Окт. 31, 2024 01:37:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Помогите с кодом

Transport
Но логичнее, на мой взгляд, пайтону было бы указать на отсутствие закрывающей скобки в строке с print.
Отсутствие скобки на той же строке - не ошибка. Питон показывет тебе то место, где возникла ошибка. А возникла она где? Питон не показывает причины ошибок. Он показывет те места, где что-то произошло.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version