Тренажер - хитрая бестия.
К сожалению, без подписки не могу глянуть свой код, хотя раньше свободно листал
по всем уровням...
По коду что могу сказать... У Вас даже при первом вводе отрицательного числа оно проверяется только на следующей итерации, и выводит это число перед этим все равно.
Может, это и не нравится мистеру Тренажеру...
Попробуйте что-то типа этого:
number = 0
str_ = "Enter a positive integer."
number = int(input(str_))
while number >= 0:
print("You nave entered", number)
number = int(input(str_))
P.S. И для того, чтобы можно было код вставлять, тут надо пустую строку добавлять перед вставкой, а то не работает...
Перепробовал кучу вариантов, ничего не подходит. И comp3 = complex(6, -2) - в уроке был именно такой пример, и comp3 = 6 - 2j пробовал, и что-то еще. В Pycharm проблем нет, все работает.
Доброго дня.
Вариант
comp3 = complex("6-2j")
тоже не подходит?
В описании функции:
При преобразовании из строки строка не должна содержать пробелов вокруг центрального оператора + или -
Если первый параметр является строкой, он будет интерпретирован как комплексное число, и функция должна вызываться без второго параметра.
Доброго времени суток.
Условные конструкции - задание 1:
Создайте переменную A, присвойте ей значение 10.
Выведете сообщение на консоль “A – is greater than 5”, только при условии, если A больше 5.
Код:
A = 10
if A > 5:
print("A – is greater than 5")
Никак не проходит. Перепробовано все что только можно. Что в данном случае может понадобится тренажеру?
Странно, код 1 в 1 как мой (5 строк):
A = 10
if A > 5:
print("A - is greater than 5")
Часто вывод в консоль копируют из задания, чтобы не набирать ручками.
Попробуйте дефис поменять на минус, они могут быть похожи, не забудьте пустую 5 строку, попробуйте вместо табуляции в 4 строке поставить 4 пробела. Я с 8 попытки только ублажил тренажер
По поводу тире, информация для размышления:
ради интереса скопировал строку из задания слева в редактор справа, потом из редактора в текстовый документ, изменил в редакторе тире "-" на минус "-", скопировал второй строкой в текстовый документ, сохранил и открыл в hex-редакторе, как оказалось, в первой строке тире имеет аж 3 байтовый код E2 80 93 (Среднее тире с кодом U+2013), а во второй это обычный минус (значение с кодом U+002D).
Таки подошло, спасибо
Действительно, дело было в злосчастном тире-минусе. Спасибо за подсказку, тут действительно не угадаешь с тобой что-то не так или с тренажером и заданием. Видимо по какой-то причине кодировка сбивается, не сильна в этом, но замечание интересное.
С заданием, про которое спрашивали выше, я так же какое-то время мучилась. В самом условии не сказано, что нужно каждый раз выводить строчку "Вы ввели число такое-то". Перепробовав n-е число вариантов, наткнулась на верный, быть может кому-то пригодится.
Циклические конструкции в Python -> задание 2
number = 0
str_ = "Enter a positive integer: "
while number >= 0:
number = int(input(str_))
print("You have entered", number)
Подскажите пожалуйста по заданию.
Напишите код в соответствии с инструкциями в задании
Напишите функцию с именем func которая будет выводить в консоль числа от 0 до 4, каждое в новой строке если ее запустить без параметров. Либо числа от 0 до n-1, где n – параметр функции. Используйте цикл while и переменную итератор i. Цикл while должен проверять условие (i != n).
...
code
...
func()
Мой код:
def func(n=5):
i = int()
while i != n:
print(i)
i += 1
func()
в компиляторе все отлично работает, при этом тренажер выдает ошибку...
К сожалению, не имею уже свободного доступа в тренажеру,
авторы сайта прикрутили его к подписке зачем-то...
Раньше сравнивал код со своим.
Ваш код рабочий, но тренажер очень капризный в плане стиля.
Авторы могут строго соблюдать PEP 8
Попробуйте придерживаться стиля в этом плане, особенно в части отделения функций верхнего уровня от остального кода (2 пустые строки).
Если используете IDE для проверки, попробуйте Reformat Code.
Попробуйте явно инициализировать i, а не через функцию...
Попробуйте 4 пробела вместо табуляции использовать, замена не всегда корректно работает. И для удобства восприятия кода можно использовать теги (значок </>, выделите код и нажмите), причем и тут свои нюансы есть - отделяйте код пустой строкой от остального текста, иначе теги не сработают
def func(n=5):
i = int() # а так тоже ошибка (i = 0)?
while i != n:
print(i)
i += 1
func()
Ну и не забывайте добавлять пустую последнюю строку в код.
Не знаю, что еще подсказать, самому часто приходилось переделывать различные вариации, работающие в IDE, но не принимаемые тренажером. Пытайтесь.
Спасибо. Приняло с i = 0
Здравствуйте.
Вопрос по третьему заданию в циклических конструкциях.
Напишите бесконечный цикл, который бы завершался вводом в консоли слова exit. Используйте переменную response. response = "" # ... # code # ..
Написал нечто такое:
response = "" while response != "exit": response = input("Type 'exit' to exit: ")
По традиции, тренажер решение не принимает, хотя в IDE все ок.
Попробуйте цикл через while True
response = ""
while True:
response = input()
if response == "exit":
break
Спасибо, помогло.
Еще остался вопрос с последним заданием:
Напишите программу, которая выводит на консоль квадрат из символов “*”, с пробелом между символами, в котором строки row = 5, столбцы column = 5.
Квадрат рисует, ответ не принимает
for row in range(5): for column in range(5): print("*", end=" ") print()
О, это весьма интересная задача.
Я как только не пробовал...
У меня тоже задача так и осталась в нерешенных.
Интересно было бы узнать верный ответ ))
Вот мой вариант, один из многих...
row = 5
column = 5
for i in range(column):
for j in range(row):
print("*", end=" ")
print()
Кстати, попробуйте column и row поменять местами в своем коде (только что пришла мысль)
Поменял местами, не прошло
Добрый день!
Вопрос по 11 заданию в переменных и их типах
Найти и исправить ошибки в коде
a = 10
b = 2
if a = b:
print("a = b")
elif a <= b:
print("a < b")
elif a > b:
print("b > a")
Пробовала:
a = 10
b = 2
if a == b:
print("a = b")
elif a < b:
print("a < b")
elif a > b:
print("b < a")
a = 10
b = 2
if a == b:
print("a = b")
elif a < b:
print("a < b")
elif a > b:
print("a > b")
a = 10
b = 2
if a == b:
print("a = b")
elif a < b:
print("a < b")
else:
print("a > b")
Ошибку не вижу((( код работает, а тренажер выдает ошибку, принты соответственно написаны с пробелами после if elif и else
Здравствуйте.
В вашем решении a < b, а в исходном варианте a <= b. Попробуйте в print именно этот вариант.
Оставьте все как есть, только пробел поставьте после *, а в end оставьте пустую строку.
Получилось, спасибо.