Форум сайта python.su
Всем добрый день. Я совсем новичок в 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’
Пожалуйста, объясните, где я ошибаюсь в коде. Или просто скиньте ссылку на ресурсы, позволяющие это понять. Заранее спасибо.
Офлайн
Перво-наперво код заключите в тэг code. В форме сообщения, рядом со смайликом есть значок с голубыми треугольными скобками. Нажмите на него и в полученный тэг вставьте код.
N88995Как бы намекает, что вместо цифр вбиваются другие знаки и не слово end. Или end вбивается в кавычках?
ValueError: invalid literal for int() with base 10: ‘end’
Отредактировано Rafik (Март 22, 2019 16:24:20)
Офлайн
a = input() while a != 'end': b.append(a) a = input() print(*b,sep = '\n')
Офлайн
Спасибо всем за ответы.
Прошу прощения за непонятный формат.
Вот сам код:
a = [] b = [] while a != 'end': a = input() if a == 'end': break else: a = [int(i) for i in input().split()] b.append(a)
Отредактировано N88995 (Март 24, 2019 12:30:46)
Офлайн
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) #чтобы увидеть результат
Офлайн
Спасибо огромное всем за помощь)
Офлайн
Есть проблема в коде,но не совсем понимаю в чем именно
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)
Офлайн
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)
Офлайн
Наконец-то научились вставлять код в тэги.
KenciЯсно говорит о лишнем отступе и, скорее всего, на строке running3=true. Интерпретатор стрелочкой показывает место ошибки. Смотрите куда показывает символ ^ в сообщении об ошибке и ищите в тех краях ошибку, связанную с отступами.
running3=true
^
IndentationError: unexpected indent
Офлайн
я поправил отступы,но появилась новая ошибка
if c3*3<1000
^
SyntaxError: invalid syntax
Отредактировано Kenci (Март 29, 2019 13:47:39)
Офлайн