• python练习Ⅱ--函数


    练习1、定义一个函数,可以用来求任意三个数的乘积

    1. # 求任意三个数的乘积
    2. def mul(a,b,c):
    3. print(a*b*c)
    4. mul(1,2,3)

    练习2、定义一个函数,可以根据不同的用户名显示不同的欢迎信息

    1. # 根据不同的用户名显示不同的欢迎信息
    2. def welcome(username):
    3. print('欢迎',username,'光临')
    4. welcome('孙悟空')

    练习3、定义一个函数,可以求任意个数字的和

    1. def sum(*nums):
    2. # 定义一个变量,来保存结果
    3. result = 0
    4. # 遍历元组,并将元组中的数进行累加
    5. for n in nums :
    6. result += n
    7. print(result)
    8. sum(123,456,789,10,20,30,40)

    练习4、创建一个函数,可以用来求任意数的阶乘

    方法一:

    1. # 创建一个函数,可以用来求任意数的阶乘
    2. def factorial(n):
    3. '''
    4. 该函数用来求任意数的阶乘
    5. 参数:
    6. n 要求阶乘的数字
    7. '''
    8. # 创建一个变量,来保存结果
    9. result = n
    10. for i in range(1,n):
    11. result *= i
    12. return result
    13. # 求10的阶乘
    14. # print(factorial(10))

    方法二:(递归)

    1. def factorial(n):
    2. '''
    3. 该函数用来求任意数的阶乘
    4. 参数:
    5. n 要求阶乘的数字
    6. '''
    7. # 基线条件 判断n是否为1,如果为1则此时不能再继续递归
    8. if n == 1 :
    9. # 1的阶乘就是1,直接返回1
    10. return 1
    11. # 递归条件
    12. return n * factorial(n-1)
    13. # print(factorial(10))

     练习5、创建一个函数 power 来为任意数字做幂运算 n ** i
       10 ** 5 = 10 * 10 ** 4
       10 ** 4 = 10 * 10 ** 3
       ...
       10 ** 1 = 10

    1. def power(n , i):
    2. '''
    3. power()用来为任意的数字做幂运算
    4. 参数:
    5. n 要做幂运算的数字
    6. i 做幂运算的次数
    7. '''
    8. # 基线条件
    9. if i == 1:
    10. # 求1次幂
    11. return n
    12. # 递归条件
    13. return n * power(n , i-1)
    14. print(power(8,6))

    练习6、创建一个函数,用来检查一个任意的字符串是否是回文字符串,如果是返回True,否则返回False。

       回文字符串,字符串从前往后念和从后往前念是一样的:  abcba、abcdefgfedcba
       先检查第一个字符和最后一个字符是否一致,①如果不一致则不是回文字符串
          ②如果一致,则看剩余的部分是否是回文字符串
       检查 abcdefgfedcba 是不是回文
       检查 bcdefgfedcb 是不是回文
       检查 cdefgfedc 是不是回文
       检查 defgfed 是不是回文
       检查 efgfe 是不是回文
       检查 fgf 是不是回文
       检查 g 是不是回文

    方法一:

    1. def hui_wen(s):
    2. '''
    3. 该函数用来检查指定的字符串是否回文字符串,如果是返回True,否则返回False
    4. 参数:
    5. s:就是要检查的字符串
    6. '''
    7. # 基线条件
    8. if len(s) < 2 :
    9. # 字符串的长度小于2,则字符串一定是回文
    10. return True
    11. elif s[0] != s[-1]:
    12. # 第一个字符和最后一个字符不相等,不是回文字符串
    13. return False
    14. # 递归条件
    15. return hui_wen(s[1:-1])
    16. print(hui_wen('abcdefgfedcba'))

    方法二:

    1. def hui_wen(s):
    2. '''
    3. 该函数用来检查指定的字符串是否回文字符串,如果是返回True,否则返回False
    4. 参数:
    5. s:就是要检查的字符串
    6. '''
    7. # 基线条件
    8. if len(s) < 2 :
    9. # 字符串的长度小于2,则字符串一定是回文
    10. return True
    11. # 递归条件
    12. return s[0] == s[-1] and hui_wen(s[1:-1])
    13. print(hui_wen('abcdefgfedcba'))

  • 相关阅读:
    Linux下多线程的操作
    学习MongoTemplate操作MongoDB增删改查
    063:vue+openlayers绘制自由线段、自由多边形(代码示例)
    AI智能文案写作工具,迅速生成高质量的文案
    ARM day9
    LeetCode //C - 433. Minimum Genetic Mutation
    JVM 相关知识整理
    禁止Chrome更新弹窗弹出
    第四十一篇 指令中的VNode
    搜索技术【广度优先搜索】 - 嵌套广度优先搜索 【POJ No. 1475】 推箱子 Pushing Boxes
  • 原文地址:https://blog.csdn.net/gaoxiaochan/article/details/126656154