Уведомления

Группа в Telegram: @pythonsu

#1 Март 22, 2019 16:08:05

N88995
Зарегистрирован: 2019-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

Всем добрый день. Я совсем новичок в Python. Изучаю данный язык программирования на сайте stepik.org. Решаю задачу, где в условии записано следующее:
Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку “end” (без кавычек). Программа должна вывести матрицу того же размера.
Пишу код:
a =
b =
while a != ‘end’:
a = input()
if a == ‘end’:
break
else:
a =
b.append(a)

При запуске код иногда срабатывает верно, иногда выдает ошибку:
Traceback (most recent call last):
File “C:\Program Files\JetBrains\PyCharm 2017.2\helpers\pydev\pydev_run_in_console.py”, line 78, in <module>
globals = run_file(file, None, None)
File “C:\Program Files\JetBrains\PyCharm 2017.2\helpers\pydev\pydev_run_in_console.py”, line 35, in run_file
pydev_imports.execfile(file, globals, locals) # execute the script
File “C:\Program Files\JetBrains\PyCharm 2017.2\helpers\pydev\_pydev_imps\_pydev_execfile.py”, line 18, in execfile
exec(compile(contents+“\n”, file, ‘exec’), glob, loc)
File “CUsers/max/PycharmProjects/First project/Car.py”, line 8, in <module>
a =
File “CUsers/max/PycharmProjects/First project/Car.py”, line 8, in <listcomp>
a =
ValueError: invalid literal for int() with base 10: ‘end’

Пожалуйста, объясните, где я ошибаюсь в коде. Или просто скиньте ссылку на ресурсы, позволяющие это понять. Заранее спасибо.

Офлайн

#2 Март 22, 2019 16:23:05

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

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

N88995
ValueError: invalid literal for int() with base 10: ‘end’
Как бы намекает, что вместо цифр вбиваются другие знаки и не слово end. Или end вбивается в кавычках?

Отредактировано Rafik (Март 22, 2019 16:24:20)

Офлайн

#3 Март 22, 2019 16:50:26

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

 a = input()
while a != 'end':
    b.append(a)
    a = input()
print(*b,sep = '\n')

Офлайн

#4 Март 24, 2019 12:21:46

N88995
Зарегистрирован: 2019-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

Спасибо всем за ответы.
Прошу прощения за непонятный формат.
Вот сам код:

 a = []
b = []
while a != 'end':
    a = input()
    if a == 'end':
        break
    else:
        a = [int(i) for i in input().split()]
        b.append(a)

Cтрока “end” сразу идет в скобках. Просто хочу понять, что не так с моим кодом и где я ошиблась, чтобы его исправить.

Отредактировано N88995 (Март 24, 2019 12:30:46)

Офлайн

#5 Март 24, 2019 13:34:17

rami
Зарегистрирован: 2018-01-08
Сообщения: 280
Репутация: +  71  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

N88995
Просто хочу понять, что не так с моим кодом и где я ошиблась, чтобы его исправить.
С кодом, вроде проблем нет, но использование функции input() без подсказки ставит пользователя в тупик “почему заглох комп???” или “что теперь делать???”. Во втором input не должно вводиться ничего кроме цифр или пробелов, иначе будет ошибка invalid literal for int() with base 10 — пользователю надо об этом сообщить в подсказке. Не помешало бы сделать проверку, что вводит пользователь и игнорировать не числовые типы.

 a = []
b = []
while a != 'end':
    a = input('для выхода введите end, продолжить — нажмите клавишу "ENTER": ')
    if a == 'end':
        break
    else:
        a = [int(i) for i in input('введите числа разделённые пробелом: ').split()]
        b.append(a)
        print(a, b)  #чтобы увидеть результат

Офлайн

#6 Март 25, 2019 12:21:34

N88995
Зарегистрирован: 2019-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

Спасибо огромное всем за помощь)

Офлайн

#7 Март 28, 2019 19:19:13

Kenci
Зарегистрирован: 2019-03-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

Есть проблема в коде,но не совсем понимаю в чем именно

running3=True
running5=True
c3=1
c5=1

while running3 :
if c3*3<1000
c3-1=C3
running3=False
else
c3 += 1

while running5 :
if c5*5<1000
c5-1=C5
running5=False
else
c5 += 1

print(C5)
print(C3)

И ошибка
running3=true
^
IndentationError: unexpected indent

спасибо кто поможет.

Отредактировано Kenci (Март 28, 2019 19:43:01)

Офлайн

#8 Март 28, 2019 19:23:27

Kenci
Зарегистрирован: 2019-03-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

  running3=True
running5=True
c3=1
c5=1

while running3 :
if c3*3<1000
c3-1=C3
running3=False
else
c3 += 1

while running5 :
if c5*5<1000
c5-1=C5
running5=False
else
c5 += 1

print(C5)
print(C3)
мб так лучше

Отредактировано Kenci (Март 28, 2019 19:34:13)

Офлайн

#9 Март 29, 2019 06:11:13

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

Наконец-то научились вставлять код в тэги.

Kenci
running3=true
^
IndentationError: unexpected indent
Ясно говорит о лишнем отступе и, скорее всего, на строке running3=true. Интерпретатор стрелочкой показывает место ошибки. Смотрите куда показывает символ ^ в сообщении об ошибке и ищите в тех краях ошибку, связанную с отступами.

Офлайн

#10 Март 29, 2019 13:45:58

Kenci
Зарегистрирован: 2019-03-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти ошибку.

я поправил отступы,но появилась новая ошибка

    if c3*3<1000
^
SyntaxError: invalid syntax

Отредактировано Kenci (Март 29, 2019 13:47:39)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version