0


python基础练习2(学python的多多少少听说过)

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

🥰 博客首页:knighthood2001

😗 欢迎点赞👍评论🗨️

❤️ 热爱python,期待与大家一同进步成长!!❤️

👀给大家推荐一款很火爆的刷题、面试求职网站👀

**上篇博客:python基础练习(学python的多多少少听说过) **

阿姆斯特朗数

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。

1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。

  1. # Python 检测用户输入的数字是否为阿姆斯特朗数
  2. # 获取用户输入的数字
  3. num = int(input("请输入一个数字: "))
  4. # 初始化变量 sum
  5. sum = 0
  6. # 指数
  7. n = len(str(num))
  8. # 检测
  9. temp = num
  10. while temp > 0:
  11. digit = temp % 10
  12. sum += digit ** n
  13. temp //= 10
  14. # 输出结果
  15. if num == sum:
  16. print(num,"是阿姆斯特朗数")
  17. else:
  18. print(num,"不是阿姆斯特朗数")
  1. 结果如下:
  1. $ python3 test.py
  2. 请输入一个数字: 345
  3. 345 不是阿姆斯特朗数
  4. $ python3 test.py
  5. 请输入一个数字: 153
  6. 153 是阿姆斯特朗数
  7. $ python3 test.py
  8. 请输入一个数字: 1634
  9. 1634 是阿姆斯特朗数

进制转换

  1. # 获取用户输入十进制数
  2. dec = int(input("输入数字:"))
  3. print("十进制数为:", dec)
  4. print("转换为二进制为:", bin(dec))
  5. print("转换为八进制为:", oct(dec))
  6. print("转换为十六进制为:", hex(dec))

主要 使用了python的几个内置函数

  1. 结果如下:
  1. 输入数字:5
  2. 十进制数为:5
  3. 转换为二进制为: 0b101
  4. 转换为八进制为: 0o5
  5. 转换为十六进制为: 0x5

ASCII码与字符相互转换

  1. # 用户输入字符
  2. c = input("请输入一个字符: ")
  3. # 用户输入ASCII码,并将输入的数字转为整型
  4. a = int(input("请输入一个ASCII码: "))
  5. print( c + " 的ASCII 码为", ord(c))
  6. print( a , " 对应的字符为", chr(a))
  1. 结果如下:
  1. 请输入一个字符: a
  2. 请输入一个ASCII码: 101
  3. a ASCII 码为 97
  4. 101 对应的字符为 e

最大公约数算法

  1. # 定义一个函数
  2. def hcf(x, y):
  3. """该函数返回两个数的最大公约数"""
  4. # 获取最小值
  5. if x > y:
  6. smaller = y
  7. else:
  8. smaller = x
  9. for i in range(1,smaller + 1):
  10. if((x % i == 0) and (y % i == 0)):
  11. hcf = i
  12. return hcf
  13. # 用户输入两个数字
  14. num1 = int(input("输入第一个数字: "))
  15. num2 = int(input("输入第二个数字: "))
  16. print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
  1. 结果如下:
  1. 输入第一个数字: 54
  2. 输入第二个数字: 24
  3. 54 24 的最大公约数为 6

最小公倍数算法

  1. # 定义函数
  2. def lcm(x, y):
  3. # 获取最大的数
  4. if x > y:
  5. greater = x
  6. else:
  7. greater = y
  8. while(True):
  9. if((greater % x == 0) and (greater % y == 0)):
  10. lcm = greater
  11. break
  12. greater += 1
  13. return lcm
  14. # 获取用户输入
  15. num1 = int(input("输入第一个数字: "))
  16. num2 = int(input("输入第二个数字: "))
  17. print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))
  1. 结果如下:
  1. 输入第一个数字: 54
  2. 输入第二个数字: 24
  3. 54 24 的最小公倍数为 216

生成日历

  1. # 引入日历模块
  2. import calendar
  3. # 输入指定年月
  4. yy = int(input("输入年份: "))
  5. mm = int(input("输入月份: "))
  6. # 显示日历
  7. print(calendar.month(yy,mm))
  1. 结果如下:
  1. 输入年份: 2015
  2. 输入月份: 6
  3. June 2015
  4. Mo Tu We Th Fr Sa Su
  5. 1 2 3 4 5 6 7
  6. 8 9 10 11 12 13 14
  7. 15 16 17 18 19 20 21
  8. 22 23 24 25 26 27 28
  9. 29 30

使用递归斐波那契数列

  1. def recur_fibo(n):
  2. """递归函数
  3. 输出斐波那契数列"""
  4. if n <= 1:
  5. return n
  6. else:
  7. return(recur_fibo(n-1) + recur_fibo(n-2))
  8. # 获取用户输入
  9. nterms = int(input("您要输出几项? "))
  10. # 检查输入的数字是否正确
  11. if nterms <= 0:
  12. print("输入正数")
  13. else:
  14. print("斐波那契数列:")
  15. for i in range(nterms):
  16. print(recur_fibo(i))
  1. 结果如下:
  1. 您要输出几项? 10
  2. 斐波那契数列:
  3. 0
  4. 1
  5. 1
  6. 2
  7. 3
  8. 5
  9. 8
  10. 13
  11. 21
  12. 34

结尾

  1. 本文为大家带来几个可能会用到的python基础题,想了解更多,戳这!!
标签: 大数据 python

本文转载自: https://blog.csdn.net/knighthood2001/article/details/125647124
版权归原作者 knighthood2001 所有, 如有侵权,请联系我们删除。

“python基础练习2(学python的多多少少听说过)”的评论:

还没有评论