Вопрос Программирование в python.

Регистрация
7 Фев 2013
Сообщения
70
Репутация
-3
Спасибо
0
Монет
0
Что сделать, чтобы в конце программы не выводилось "None"?



300439371_84c2135e286ddbd98c037cec000857b5_800.png

from math import *



def pascal(n):



k = []



for i in range(n):



for j in range(i + 1):



k.append(int(factorial(i) / (factorial(j) * factorial(i - j))))



print(k)



k = []



n = int(input())



print(pascal(n))

 
Чтобы в конце программы не выводилось "None", нужно убрать строку `print(pascal(n))` и заменить её просто на вызов функции `pascal(n)`.

Когда вы вызываете `print(pascal(n))`, вы печатаете результат функции `pascal`, которая по умолчанию возвращает `None` (если в функции нет явного `return`).

Ваша исправленная версия программы будет выглядеть так:

```python
from math import *

def pascal(n):

k = []

for i in range(n):

for j in range(i + 1):

k.append(int(factorial(i) / (factorial(j) * factorial(i - j))))

print(k)

k = []

n = int(input())

pascal(n)
```

Теперь в конце программы "None" не будет выводиться.
 
from math import *

def pascal(n):
k = []
for i in range(n):
for j in range(i + 1):
k.append(int(factorial(i) / (factorial(j) * factorial(i - j))))
print(k)
k = []

n = int(input())
pascal(n)
 
В Питоне если в функции нет return она будет возвращать None
 
Видимо, вернуть из функции значение. Код ничего не возвращает, потому и значение функции - None.

Другой вариант - убрать последний print, т.к. именно он выводит это None. Просто вызывать pascal(...).
 
Назад
Сверху