Я все еще новичок в Python и учусь! Я искал вокруг, и некоторые публикации кажутся мне слишком сложными в настоящее время. Хотите знать, почему приведенный ниже car_brandp не соединяется с «и довольно дорого» после запуска функции else? Первая строка else печатается нормально, но, похоже, я не могу поместить это сообщение в качестве переменной?
Я получил ошибку None Type
car_brand =input ("What is the best car brand? ")
if car_brand == ("Range Rover"):
print (car_brand + " is the best car brand ever!")
else:
car_brandp = print (car_brand + " is just personal taste..")
print (car_brandp + " and quite expensive...")
print
используется для вывода на стандартный вывод. Здесь вам нужно присваивание переменной. car_brandp = car_brand + " is just personal taste.."
.
Или из 3.6 f'{car_brand} is just personal taste..'
(также доступен в многострочной версии, которая не будет правильно отображаться в комментарии)
Эта строка:
car_brandp = print (car_brand + " is just personal taste..")
предполагается:
car_brandp = (car_brand + " is just personal taste..")
Кстати, стоит отметить, что причина, по которой OP получала ошибку NoneType, заключалась в том, что print()
возвращает None
@DroidX86DroidX86, почему это должно превратиться в None, если у меня есть строка после print ()? Я знаю, что если я выполню print(), он ничего не напечатает, но у меня там была строка с переменной из предыдущей строки... для меня это как загадка... может быть, я просто не знаю основ, и я должен вернуться =[
@bestcoderNAjk Это поведение печати. Независимо от того, какой аргумент вы ему предоставите, он отправит его на стандартный вывод и вернет вам None
. programiz.com/python-programming/methods/встроенный/печать
@DroidX86 интересно .. все еще учусь. Благодарю вас за информацию!
print()
похож на функцию void
в других языках. Итак, это что-то делает, но ничего не возвращает (None
в питоне, как null
в других языках).
Итак, в следующей строке вы пытаетесь добавить
None + "personal taste"
и вы получаете сообщение об ошибке, потому что сложение string
и None
не определено
Итак, ваши варианты
print( str(brand) + "personal taste")
print( f'{brand} personal taste')
«print» — это процедура для отображения чего-либо в консоли. Процедура отличается от функции тем, что она не предназначена для возврата чего-то ценного, а скорее выполняет что-то в качестве побочного эффекта (она сделает что-то полезное, но вы не сможете с ней взаимодействовать). Вы не можете назначать возвращаемое значение функции печати, так как это бессмысленно.
Поскольку вы все еще новичок в Python, хорошей идеей будет заблаговременно выучить правильные привычки. В частности, PEP8 содержит ценную информацию о стиле и соглашениях, которым следует большинство разработчиков Python. Такие рекомендации необязательны, но если им следовать, они помогут другим разработчикам лучше понять ваш код.
car_brand = input("What is the best car brand? ")
if car_brand == "Range Rover":
msg = car_brand + " is the best car brand ever!"
else:
msg = car_brand + " is just personal taste.."
msg += " and quite expensive..."
print(msg)
Никогда не знал, что я могу написать это так же. Я следил за видео на YouTube и учебником по ускоренному курсу Python. Большое спасибо!
Есть еще лучшие способы построения струн, я позволю вам открыть их самостоятельно. Удачи в путешествии, это самая важная часть. Если этот ответ был вам полезен, рассмотрите возможность его голосования и/или принятия.
print
возвращаетсяNone
.car_brandp = print()
всегда приведет к тому, чтоcar_brandp
будет None