我正在尝试在与return语句相同的行上获取一条print语句,我该怎么做呢?
我试图将print语句放在if语句的下面,但是在return语句的上面,并将结果打印在return语句的上面。
def isleap(y):
if y % 400 == 0:
print("Year %d is divisible by 400, therefore it is a leap year" %y)
return True
elif y % 100 ==0:
return False
elif y % 4 == 0:
return True
else:
return False
我正在导入上面的代码以从另一个文件运行:
import leapyear
print (leapyear.isleap(1800))
print (leapyear.isleap(2019))
print (leapyear.isleap(2000))
print (leapyear.isleap(2012))
这是结果:
False
False
Year 2000 is divisible by 400, therefore it is a leap year
True
True
我希望结果具有类似的内容
真实:2000年可以除以400,因此它是a年
所有内容都在同一行中,并包含冒号。
答案 0 :(得分:1)
您可以return True
和打印语句一起使用。在星形*
运算符的帮助下,您可以将元组中的元素作为单独的参数传递给print()
函数:
def func():
return True, 'It works.'
print(*func())
# True It works.
如果打印语句的顺序并不重要,则可以将参数end=''
添加到第一个print()
函数中:
def func():
print('It works.', end='')
return True
print(func())
# It works.True
答案 1 :(得分:-1)
您可以执行以下操作:
def isleap(y):
if y % 400 == 0:
return True, ': Year %d is divisible by 400, therefore it is a leap year' %y
elif y % 100 ==0:
return False, ''
elif y % 4 == 0:
return True, ''
else:
return False, ''
print(*isleap(1800), sep='')
print(*isleap(2019), sep='')
print(*isleap(2000), sep='')
print(*isleap(2012), sep='')
print()
# If you want to use it later.
ret = isleap(2000)
if ret[0]:
print('Length of the message is:', len(ret[1]))
输出:
False
False
True: Year 2000 is divisible by 400, therefore it is a leap year
True
Length of the message is: 60
我回答了这个问题后,提出这个问题的人问他/她想重用结果该怎么做。因此,我更新了与this答案相似的答案。