为什么这个简单的函数不输出任何东西?

时间:2019-01-23 14:13:57

标签: python python-3.x

您好,以下是我尝试使用的简单代码。

我不明白为什么控制台中什么也没输出,因为在本教程中它返回120。我试图做一个递归函数。您能给我的任何帮助都会很棒,我正在使用python 3.7作为参考。

代码:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

factorial(5)

谢谢。

2 个答案:

答案 0 :(得分:4)

为什么控制台中什么也没输出

好吧,您的代码中没有打印语句。...

打印输出

print(square(4))

答案 1 :(得分:2)

它没有输出任何东西,因为没有命令/函数调用可以输出任何东西。

一个解决方案是

use EMTCQIData

DECLARE @StartDate Date
DECLARE @EndDate Date

Set @StartDate = '01/01/2017'
Set @EndDate = '12/21/2018'

Select pt_fin, TRACKING_GROUP, PT_MRN, RESULT_DT_TM, NOTE_TYPE, 
RESULT_TITLE_TEXT, AUTHOR, ACTION_PRSNL, Result

from ED_NOTES_MASTER    

WHERE   (TRACK_GROUP    =   'ED Tracking Group')
AND     (PT_ACUITY      =   '3 - Two+ Resources')
AND     (CHECKIN_DATE_TIME > @StartDate and CHECKIN_DATE_TIME < @EndDate)
AND     (REASON_FOR_VISIT Not Like '%asthma%')
Or      (REASON_FOR_VISIT Not Like '%psych%')
Or      (REASON_FOR_VISIT Not Like '%suicide%')
Or      (REASON_FOR_VISIT Not Like '%suicidal%')
Or      (REASON_FOR_VISIT Not Like '%homicide%')
Or      (REASON_FOR_VISIT Not Like '%homicidal%')
Or      (REASON_FOR_VISIT Not Like '%FD-12%')
Or      (REASON_FOR_VISIT Not Like '%behavioral%')
OR      (REASON_FOR_VISIT Not Like '%overdose%')
Or      (REASON_FOR_VISIT Not Like '%aggression%') 

另一个(次等)解决方案是

def square(num):
    return num**2

print(square(4))

请注意第一种解决方案更好,因为该函数可以做一件事:计算数字的平方。

第二种解决方案计算并打印平方,但是假设您要在其他地方使用该数字,那么该功能就没有用了。因此,请使用第一个版本。