Почему выводит none python
Перейти к содержимому

Почему выводит none python

Почему метод класса выводит None?

Если я правильно понимаю, то мы создали список members, чтобы с помощью цикла показать все имеющиеся объекты. Сама проблема заключается в том, что в выводе присутствует None. Я понимаю, что в методе отсутствует return, от этого и None вылезает, но если отдельно прописать для какого-нибудь объекта tell, но None нету( t.tell() к примеру ). Вполне можно просто прописать для каждого объекта tell и проблема решена, но это не совсем хорошо, ведь может объектов быть гораздо больше, тогда и прописывать для каждого будет неудобно, поэтому хочу разобраться, как это делать с помощью списка и цикла, но без None чтобы в конце-то концов. Надеюсь на понимание и помощь

  • Вопрос задан более двух лет назад
  • 696 просмотров

Откуда None в выводе ? Глупый вопрос

print(Ivan.bio()) печатает то, что возвращает метод bio , а он у вас возвращает ничего, то есть None . А тот принт, который внутри метода bio , печатает вам ивана-18 и не имеет никакого отношения к возвращаемому значению

3 янв 2018 в 18:45

@andreymal, добавь ответ.

3 янв 2018 в 19:10

Добавьте кто-нибудь за меня, я считаю вопрос плохим и мне лень писать развёрнутый ответ

4 янв 2018 в 0:15

@user263096 Выякий метод и всякая функция в Пытоне возвращает какое-то значение: Или то, которое в команде return , или None , когда return не встретится.

4 янв 2018 в 0:52

@MarianD, зачем ты мне это объясняешь? Я — то не создатель этого дурацкого вопроса.

Почему функция возвращает None?

Доброго времени суток. Решил начать самообучаться азам Python. Сейчас играюсь с функциями и return. Написал вот такой калькулятор, но он возвращает None, хотя весь код исполняется.

Подскажите, пожалуйста, в чем я ошибаюсь. Самостоятельный поиск в гугле не помог.

#Вычисляем факториал def factorial(num1): if num1 == 1: return 1 elif num1 > 0: return num1 * factorial (num1 - 1) else: return ('Не верное число') #Вычисляем сумму def summa(num1, num2): return (num1 + num2) #Вычисляем разность def raznost(num1, num2): return (num1 - num2) #Вычисляем произведение def proisvedenie(num1, num2): return (num1 * num2) #Вычисляем деление def delenie(num1, num2): if num2 == 0: return ('Делить на 0 нельзя') else: return (num1 / num2) #Определяем что делать def deistvie(znak, num1, num2): if znak == '!': factorial(num1) elif znak == '+': summa(num1, num2) elif znak == '-': raznost(num1, num2) elif znak == '*': proisvedenie(num1, num2) elif znak == '/': delenie(num1, num2) else: return ('Нет такого действия') #Получаем данные def inputs(): num1 = float(input('Введите число: ')) znak = input('Введите знак (+, -, *, /, !): ') if znak == '!': num2 = '' else: num2 = float(input('Введите второе число: ')) deistvie (znak, num1, num2) print (inputs())
  • Вопрос задан более трёх лет назад
  • 6823 просмотра

Комментировать
Решения вопроса 1

В вашей функции deistvie происходит просто вызов функций сложение, вычитания, умножения и т.д. И вы с ними ничего не делатете, т.е. как вариант, это выводить результат, например так:

#Определяем что делать def deistvie(znak, num1, num2): if znak == '!': print(factorial(num1)) elif znak == '+': print(summa(num1, num2)) elif znak == '-': print(raznost(num1, num2)) elif znak == '*': print(proisvedenie(num1, num2)) elif znak == '/': print(delenie(num1, num2)) else: return ('Нет такого действия')

либо надо возвращать значения в deistvie и в inputs, т.е. таким образом

#Определяем что делать def deistvie(znak, num1, num2): if znak == '!': return factorial(num1) elif znak == '+': return summa(num1, num2) elif znak == '-': return raznost(num1, num2) elif znak == '*': return proisvedenie(num1, num2) elif znak == '/': return delenie(num1, num2) else: return ('Нет такого действия') #Получаем данные def inputs(): num1 = float(input('Введите число: ')) znak = input('Введите знак (+, -, *, /, !): ') if znak == '!': num2 = '' else: num2 = float(input('Введите второе число: ')) return deistvie (znak, num1, num2)

Python, Парсинг. Ошибка None

Здравствуйте. Решил потренироваться парсить сайт по подборке фильмов, но почему-то выводится None. Мой код ниже. Начиная с one я спускаюсь всё ниже. Переменные one, two, three выводятся без ошибки. А вот four выдаёт None. Объясните мне, пожалуйста, почему так происходит?

Голосование за лучший ответ

ты с начало выведи себе полный html получаемый код а там дальше копай что не так с ним

Попробуй сокращенное название стиля

soup.find('div', 'movieList_item')

СергейУченик (148) 1 год назад

Тоже самое выводит

Black Afgano Просветленный (22228) Сергей, то же самое это что?

СергейУченик (148) 1 год назад

Black Afgano Просветленный (22228) ну конечно

import requests 
from bs4 import BeautifulSoup


def get_rating():
url = 'https://www.kinoafisha.info/rating/movies/'
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
film_rating = soup.find_all("div", class_='movieList_item movieItem movieItem-rating movieItem-position')


for film in film_rating:
film_name = film.find('a', class_='movieItem_title').text.strip()
film_janr = film.find('span', class_="movieItem_genres").text.strip()
film_date = film.find('span', class_="movieItem_year").text.strip()
print(f' | \n ')


get_rating()

Похожие вопросы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *