При запуске Python-программы ошибка & ldquo; 'return' вне функции & rdquo; всплывает

Скрытие имени имеет смысл, потому что оно предотвращает двусмысленности в разрешении имен.

Рассмотрим этот код:

class Base
{
public:
    void func (float x) { ... }
}

class Derived: public Base
{
public:
    void func (double x) { ... }
}

Derived dobj;

Если Base::func(float) не был скрыт Derived::func(double) в Derived, мы вызывали бы функцию базового класса при вызове dobj.func(0.f), хотя поплавок можно было бы продвигать до двойного.

Ссылка: http://bastian.rieck.ru/blog/posts/ 2016 / name_hiding_cxx /

0
задан TFX 19 March 2019 в 09:52
поделиться

2 ответа

Плохой отступ, вам нужно правильно сделать отступ для определения вашей функции, например:

def discount_ten():
    nondis=float[1.10,2.40,5.20,6.30,6.70]
    for i in nondis:
      return(nondis/10) 
    print(nondis)

Примечание: Python следует определенному стилю отступа для определения кода, , так как функции Python не не имеют явных начальных или конечных фигурных скобок, указывающих начало и конец функции , они должны полагаться на этот отступ.

РЕДАКТИРОВАТЬ (исправлено для желаемого результата):

Используя список для хранения результатов, вам не нужно return в цикле, так как выйдет из цикла и напечатает только 0.11000000000000001 для самой первой итерации. Кроме того, используйте round() для округления до ближайшего желаемого десятичного знака:

def discount_ten():
    nondis = [1.10,2.40,5.20,6.30,6.70]
    res = []                      # empty list to store the results
    for i in nondis:
      res.append(round(i/10, 2))  # appending each (rounded off to 2) result to the list
    return res                    # returning the list

print(discount_ten())

ВЫХОД :

[0.11, 0.24, 0.52, 0.63, 0.67]
0
ответ дан DirtyBit 19 March 2019 в 09:52
поделиться

Я думаю, что ваша функция не имеет правильного отступа, посмотрите на следующий код:

Эта функция выводит желаемый результат:

def discount_ten():
   nondis=[1.10,2.40,5.20,6.30,6.70]
   for i in nondis:
     print(i/10)

Эта функция возврат списка желаемых выходных данных:

def discount_ten():
    nondis=float[1.10,2.40,5.20,6.30,6.70]
    disc_ten=[]
    for i in nondis:
       disc.append(i/10)
    return disc

Примечание: Блок кода (тело функции, цикл и т. д.) начинается с отступа и заканчивается первым линия без отступов. Количество отступов зависит от вас, но оно должно быть одинаковым на протяжении всего этого блока.

-

0
ответ дан TFX 19 March 2019 в 09:52
поделиться