Оператор If и Else Переменная Вопрос в Python

Я все еще новичок в 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 возвращается None. car_brandp = print() всегда приведет к тому, что car_brandp будет None
roganjosh 08.04.2019 18:56
print используется для вывода на стандартный вывод. Здесь вам нужно присваивание переменной. car_brandp = car_brand + " is just personal taste..".
Austin 08.04.2019 18:56
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
64
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Эта строка:

car_brandp = print (car_brand + " is just personal taste..")

предполагается:

car_brandp = (car_brand + " is just personal taste..")

Кстати, стоит отметить, что причина, по которой OP получала ошибку NoneType, заключалась в том, что print() возвращает None

rdas 08.04.2019 19:03

@DroidX86DroidX86, почему это должно превратиться в None, если у меня есть строка после print ()? Я знаю, что если я выполню print(), он ничего не напечатает, но у меня там была строка с переменной из предыдущей строки... для меня это как загадка... может быть, я просто не знаю основ, и я должен вернуться =[

bestcoderNAjk 08.04.2019 19:09

@bestcoderNAjk Это поведение печати. Независимо от того, какой аргумент вы ему предоставите, он отправит его на стандартный вывод и вернет вам None. programiz.com/python-programming/methods/встроенный/печать

rdas 08.04.2019 19:13

@DroidX86 интересно .. все еще учусь. Благодарю вас за информацию!

bestcoderNAjk 08.04.2019 20:15

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. Большое спасибо!

bestcoderNAjk 08.04.2019 20:16

Есть еще лучшие способы построения струн, я позволю вам открыть их самостоятельно. Удачи в путешествии, это самая важная часть. Если этот ответ был вам полезен, рассмотрите возможность его голосования и/или принятия.

sleblanc 08.04.2019 20:28

Другие вопросы по теме