15个Python入门小程序,你都知道哪些

时间:2022-03-28 02:47:32

有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。

15个Python入门小程序,你都知道哪些

01 实现二元二次函数

实现数学里的二元二次函数:f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指数运算符**

  1. """
  2. 二元二次函数
  3. """
  4.  
  5. x = int(input('输入x:'))
  6. y = int(input('输入y:'))
  7.  
  8. z = 2 * x ** 2 + 3 * y ** 2 + 4 * x * y
  9. print('f(%d, %d) = %d' % (x, y, z))

02 分离整数的个位数

将一个正整数的个位数,以及除个位数外的部分分离。需要用到模(取余数)运算符%,和整除运算符//

  1. """
  2. 分离整数个位数
  3. """
  4.  
  5. x = int(input('输入整数:'))
  6.  
  7. single_dig = x % 10
  8. exp_single_dig = x // 10
  9.  
  10. print('个位数: %d' % single_dig)
  11. print('除个位数外: %d' % exp_single_dig)

03 实现一个累加器

实现一个简单的累加器,可以接受用户输入3个数字,并将其累加。需要用到复合赋值运算符:+=

  1. """
  2. 累加器 v1.0
  3. """
  4.  
  5. s = 0
  6.  
  7. x = int(input('输入整数:'))
  8. s += x
  9.  
  10. x = int(input('输入整数:'))
  11. s += x
  12.  
  13. x = int(input('输入整数:'))
  14. s += x
  15.  
  16. print('总和:%d' % s)

04 判断闰年

输入年份,判断是否是闰年。闰年判断方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算术运算符和逻辑运算符

  1. """
  2. 判断闰年
  3. """
  4.  
  5. year = int(input('输入年份: '))
  6. is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
  7. print(is_leap)

05 判断奇偶数

输入一个数字,判断基数还是偶数,需要模运算和if ... else结构

  1. """
  2. 判断奇偶数
  3. """
  4.  
  5. in_x = int(input('输入整数:'))
  6.  
  7. if in_x % 2 == 0:
  8. print('偶数')
  9. else:
  10. print('奇数')

06 摄氏度与华氏度互转

之前做过华氏度转摄氏度,现在通过分支结构实现二者互转。

  1. """
  2. 摄氏度与华氏度互换
  3. """
  4.  
  5. trans_type = input('输入转摄氏度还是华氏度:')
  6.  
  7. if trans_type == '摄氏度': # 执行华氏度转摄氏度的逻辑
  8. f = float(input('输入华氏温度:'))
  9. c = (f - 32) / 1.8
  10. print('摄氏温度为:%.2f' % c)
  11. elif trans_type == '华氏度': # 执行摄氏度转华氏度的逻辑
  12. c = float(input('输入摄氏温度:'))
  13. f = c * 1.8 + 32
  14. print('华氏温度为:%.2f' % f)
  15. else:
  16. print('请输入 华氏度 或 摄氏度')

07 是否构成三角形

输入三个边长度,判断是否构成三角形。构成三角形的条件:两边之和大于第三边。

  1. """
  2. 是否构成三角形
  3. """
  4. a = float(input('输入三角形三条边:\n a = '))
  5. b = float(input(' b = '))
  6. c = float(input(' c = '))
  7. if a + b > c and a + c > b and b + c > a:
  8. print('能够构成三角形')
  9. else:
  10. print('不能构成三角形')

08 输出成绩等级

输入成绩分数,输出分数对应的等级。

>=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E

  1. """
  2. 输出成绩等级
  3. """
  4.  
  5. score = float(input('请输入成绩: '))
  6. if score >= 90:
  7. grade = 'A'
  8. elif score >= 80:
  9. grade = 'B'
  10. elif score >= 70:
  11. grade = 'C'
  12. elif score >= 60:
  13. grade = 'D'
  14. else:
  15. grade = 'E'
  16. print('成绩等级是:', grade)

09 计算提成

某企业的奖金根据销售利润按照如下规则计算提成。输入销售利润,计算奖金。

  • 利润 <= 10万,奖金可提升10%
  • 10万 < 利润 <= 20万,高出10万的部分提高 7.5%
  • 20万 < 利润 <= 40万,高出20万元的部分提高5%
  • 40万 < 利润 <= 60万,高出40万元的部分提高3%
  • 利润 > 60万,超过60万的部分提高1%
  1. """
  2. 计算提成 v1.0
  3. """
  4.  
  5. profit = float(input('输入销售利润(元): '))
  6.  
  7. if profit <= 100000:
  8. bonus = profit * 0.1
  9. elif profit <= 200000:
  10. bonus = 100000 * 0.1 + (profit - 100000) * 0.075
  11. elif profit <= 400000:
  12. bonus = 100000 * 0.1 + 200000 * 0.075 + (profit - 200000) * 0.05
  13. elif profit <= 600000:
  14. bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + (profit - 400000) * 0.03
  15. else:
  16. bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + 600000 * 0.03 + (profit - 600000) * 0.01
  17.  
  18. print('奖金:%.2f' % bonus)

10 猜数游戏

程序随机生成一个正整数,用户来猜,程序根据猜的大小给出相应的提示。最后,输出用户猜了多少次才猜中。

  1. """
  2. 猜数游戏
  3. """
  4.  
  5. import random
  6.  
  7. answer = random.randint(1, 100)
  8. counter = 0
  9. while True:
  10. counter += 1
  11. number = int(input('猜一个数字(1-100): '))
  12. if number < answer:
  13. print('再大一点')
  14. elif number > answer:
  15. print('再小一点')
  16. else:
  17. print('猜对了')
  18. break
  19.  
  20. print(f'共猜了{counter}次')

11 打印乘法口诀表

  1. """
  2. 打印乘法口诀表
  3. """
  4.  
  5. for i in range(1, 10):
  6. for j in range(1, i + 1):
  7. print(f'{i}*{j}={i * j}', end='\t')

12 是否是素数

输入一个正整数,判断是否是素数。素数定义:大于1的自然数中,只能被1和它本身整除的自然数。如:3、5、7

  1. """
  2. 判断是否是素数
  3. """
  4.  
  5. num = int(input('请输入一个正整数: '))
  6. end = int(num // 2) + 1 # 只判断前半部分是否能整除即可,前半部分没有能整除的因此,后半部分肯定也没有
  7.  
  8. is_prime = True
  9. for x in range(2, end):
  10. if num % x == 0:
  11. is_prime = False
  12. break
  13. if is_prime and num != 1:
  14. print('素数')
  15. else:
  16. print('不是素数')

range(2, end) 可以生成 2, 3, ... end序列,并依次赋值给 x 执行循环。range还有如下用法

range(10):生成 0, 1, 2, ... 9 序列

range(1, 10, 2):生成 1, 3, 5, ... 9 序列

13 猜拳游戏

用程序实现石头剪刀布游戏。

  1. """
  2. 猜拳游戏
  3. """
  4.  
  5. # 0代表布,1代表剪刀,2代表石头
  6. import random
  7.  
  8. rule = {'布': 0, '剪刀': 1, '石头': 2}
  9.  
  10. rand_res = random.randint(0, 2)
  11. input_s = input('输入石头、剪刀、布:')
  12. input_res = rule[input_s]
  13. win = True
  14.  
  15. if abs(rand_res - input_res) == 2: # 相差2说明是布和石头相遇,出布一方胜
  16. if rand_res == 0:
  17. win = False
  18. elif rand_res > input_res: # 相差1的情况谁大谁赢
  19. win = False
  20.  
  21. print(f'程序出:{list(rule.keys())[rand_res]},输入:{input_res}')
  22.  
  23. if rand_res == input_res:
  24. print('平')
  25. else:
  26. print('赢' if win else '输')

14 字典排序

字典的key是姓名,value是身高,现在需要按照身高对字典重新排序。

  1. """
  2. 字典排序
  3. """
  4.  
  5. hs = {'张三': 178, '李四': 185, '王麻子': 175}
  6.  
  7. print(dict(sorted(hs.items(), key=lambda item: item[1])))

15 二元二次函数 v2.0

将二元二次函数封装在函数中,方便调用

  1. """
  2. 二元二次函数 v2.0
  3. """
  4.  
  5. def f(x, y):
  6. return 2 * x ** 2 + 3 * y ** 2 + 4 * x * y
  7.  
  8.  
  9. print(f'f(1, 2) = {f(1, 2)}')

最后

初学python的小伙伴注意哦~不要只依赖于教程,而忽视实操的能力。不然,是很难有进步的。可以多动动手,尝试一下,积累经验。

希望对你们有帮助,喜欢这篇内容的小伙伴们就点个赞和关注!

原文地址:https://www.toutiao.com/a7043775265893581342/