使用Python语言,让函数FirstFactorial(Num)获取传递的num参数并返回其阶乘(例如,如果num=4,则返回(4*3*2*1))。对于测试用例,范围将介于1和18之间,并且输入将始终是整数。
示例测试用例
Input: 4
Output: 24
Input: 8
Output: 40320
暗示。
想一想如何创建将N乘以N-1再乘以N-2的递归函数,等等。
下一题:
挑战。
使用Python语言,让函数FirstReverse(Str)接受传递的str参数,并以相反的顺序返回字符串。例如:如果输入字符串是“Hello World and coders”,那么您的程序应该返回字符串sredoC DNA dlroW Olleh。
Input:"coderbyte"
Output:"etybredoc"
Input:"I Love Code"
Output:"edoC evoL I"
暗示。
想一想如何向后循环一个字符串或字符数组以生成一个新字符串。
分析。
从英文描述和例子的输入和输出可以知道,第一题基本上就是一个阶乘计算,当然题目中限定了数字范围是1-18,否则代码还需判断数字.。
第二题就是字符串的倒序输出,我能想到的有两种方法。
借用索引。
通过列表。
代码。
第一题:
def FirstFactorial(num):
# code goes here
if num-1>0:
num = num*FirstFactorial(num-1) # 递归
else:
num = 1
return num
# keep this function call here
print FirstFactorial(raw_input())
我操作的截图:


我这是又写文章,又写代码,耗得时间比较长,你也可以点击“Redo”重新做题。
第二题:
方法一:
def FirstReverse(str):
# code goes here
str= str[::-1]
return str
# keep this function call here
print FirstReverse(raw_input())
方法二:
def FirstReverse(str):
# code goes here
a = []
for i in str:
a.append(i) #写入list
a.reverse() # 反转
str = ''.join(a) # 转换成字符串
return str
# keep this function call here
print FirstReverse(raw_input())

结语
本次完成了两道题目,暂时就完成这些。
如有错误,敬请指出,感谢指正!
网友评论