学Python的第二个月I第一道练习题分享

挑战。

使用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())


结语

本次完成了两道题目,暂时就完成这些。

如有错误,敬请指出,感谢指正!

你可能感兴趣的:(学Python的第二个月I第一道练习题分享)