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

发表于:2021-12-23 09:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序汪小成    来源:今日头条

  有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。
  01 实现二元二次函数
  实现数学里的二元二次函数:f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指数运算符**
  """ 
  二元二次函数 
  """ 
   
  x = int(input('输入x:')) 
  y = int(input('输入y:')) 
   
  z = 2 * x ** 2 + 3 * y ** 2 + 4 * x * y 
  print('f(%d, %d) = %d' % (x, y, z)) 

  02 分离整数的个位数
  将一个正整数的个位数,以及除个位数外的部分分离。需要用到模(取余数)运算符%,和整除运算符//
  """ 
  分离整数个位数 
  """ 
   
  x = int(input('输入整数:')) 
   
  single_dig = x % 10 
  exp_single_dig = x // 10 
   
  print('个位数: %d' % single_dig) 
  print('除个位数外: %d' % exp_single_dig) 

  03 实现一个累加器
  实现一个简单的累加器,可以接受用户输入3个数字,并将其累加。需要用到复合赋值运算符:+=
  """ 
  累加器 v1.0 
  """ 
   
  s = 0 
   
  x = int(input('输入整数:')) 
  s += x 
   
  x = int(input('输入整数:')) 
  s += x 
   
  x = int(input('输入整数:')) 
  s += x 
   
  print('总和:%d' % s) 

  04 判断闰年
  输入年份,判断是否是闰年。闰年判断方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算术运算符和逻辑运算符
  """ 
  判断闰年 
  """ 
   
  year = int(input('输入年份: ')) 
  is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0 
  print(is_leap) 

  05 判断奇偶数
  输入一个数字,判断基数还是偶数,需要模运算和if ... else结构
  """ 
  判断奇偶数 
  """ 
   
  in_x = int(input('输入整数:')) 
   
  if in_x % 2 == 0: 
      print('偶数') 
  else: 
      print('奇数') 

  06 摄氏度与华氏度互转
  之前做过华氏度转摄氏度,现在通过分支结构实现二者互转。
  """ 
  摄氏度与华氏度互换 
  """ 
   
  trans_type = input('输入转摄氏度还是华氏度:') 
   
  if trans_type == '摄氏度':  # 执行华氏度转摄氏度的逻辑 
      f = float(input('输入华氏温度:')) 
      c = (f - 32) / 1.8 
      print('摄氏温度为:%.2f' % c) 
  elif trans_type == '华氏度':  # 执行摄氏度转华氏度的逻辑 
      c = float(input('输入摄氏温度:')) 
      f = c * 1.8 + 32 
      print('华氏温度为:%.2f' % f) 
  else: 
      print('请输入 华氏度 或 摄氏度') 

  07 是否构成三角形
  输入三个边长度,判断是否构成三角形。构成三角形的条件:两边之和大于第三边。
  """ 
  是否构成三角形 
  """ 
  a = float(input('输入三角形三条边:\n a = ')) 
  b = float(input(' b = ')) 
  c = float(input(' c = ')) 
  if a + b > c and a + c > b and b + c > a: 
      print('能够构成三角形') 
  else: 
      print('不能构成三角形') 

  08 输出成绩等级
  输入成绩分数,输出分数对应的等级。
  >=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E
  """ 
  输出成绩等级 
  """ 
   
  score = float(input('请输入成绩: ')) 
  if score >= 90: 
      grade = 'A' 
  elif score >= 80: 
      grade = 'B' 
  elif score >= 70: 
      grade = 'C' 
  elif score >= 60: 
      grade = 'D' 
  else: 
      grade = 'E' 
  print('成绩等级是:', grade) 

  09 计算提成
  某企业的奖金根据销售利润按照如下规则计算提成。输入销售利润,计算奖金。
  ·利润 <= 10万,奖金可提升10%
  · 10万 < 利润 <= 20万,高出10万的部分提高 7.5%
  · 20万 < 利润 <= 40万,高出20万元的部分提高5%
  · 40万 < 利润 <= 60万,高出40万元的部分提高3%
  · 利润 > 60万,超过60万的部分提高1%
  """ 
  计算提成 v1.0 
  """ 
   
  profit = float(input('输入销售利润(元): ')) 
   
  if profit <= 100000: 
      bonus = profit * 0.1 
  elif profit <= 200000: 
      bonus = 100000 * 0.1 + (profit - 100000) * 0.075 
  elif profit <= 400000: 
      bonus = 100000 * 0.1 + 200000 * 0.075 + (profit - 200000) * 0.05 
  elif profit <= 600000: 
      bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + (profit - 400000) * 0.03 
  else: 
      bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + 600000 * 0.03 + (profit - 600000) * 0.01 
   
  print('奖金:%.2f' % bonus) 

  10 猜数游戏
  程序随机生成一个正整数,用户来猜,程序根据猜的大小给出相应的提示。最后,输出用户猜了多少次才猜中。
  """ 
  猜数游戏 
  """ 
   
  import random 
   
  answer = random.randint(1, 100) 
  counter = 0 
  while True: 
      counter += 1 
      number = int(input('猜一个数字(1-100): ')) 
      if number < answer: 
          print('再大一点') 
      elif number > answer: 
          print('再小一点') 
      else: 
          print('猜对了') 
          break 
   
  print(f'共猜了{counter}次') 

  11 打印乘法口诀表
  """ 
  打印乘法口诀表 
  """ 
   
  for i in range(1, 10): 
      for j in range(1, i + 1): 
          print(f'{i}*{j}={i * j}', end='\t') 

  12 是否是素数
  输入一个正整数,判断是否是素数。素数定义:大于1的自然数中,只能被1和它本身整除的自然数。如:3、5、7
  """ 
  判断是否是素数 
  """ 
   
  num = int(input('请输入一个正整数: ')) 
  end = int(num // 2) + 1  # 只判断前半部分是否能整除即可,前半部分没有能整除的因此,后半部分肯定也没有 
   
  is_prime = True 
  for x in range(2, end): 
      if num % x == 0: 
          is_prime = False 
          break 
  if is_prime and num != 1: 
      print('素数') 
  else: 
      print('不是素数') 

  range(2, end) 可以生成 2, 3, ... end序列,并依次赋值给 x 执行循环。range还有如下用法
  range(10):生成 0, 1, 2, ... 9 序列
  range(1, 10, 2):生成 1, 3, 5, ... 9 序列
  13 猜拳游戏
  用程序实现石头剪刀布游戏。
  """ 
  猜拳游戏 
  """ 
   
  # 0代表布,1代表剪刀,2代表石头 
  import random 
   
  rule = {'布': 0, '剪刀': 1, '石头': 2} 
   
  rand_res = random.randint(0, 2) 
  input_s = input('输入石头、剪刀、布:') 
  input_res = rule[input_s] 
  win = True 
   
  if abs(rand_res - input_res) == 2:  # 相差2说明是布和石头相遇,出布一方胜 
      if rand_res == 0: 
          win = False 
  elif rand_res > input_res:  # 相差1的情况谁大谁赢 
      win = False 
   
  print(f'程序出:{list(rule.keys())[rand_res]},输入:{input_res}') 
   
  if rand_res == input_res: 
      print('平') 
  else: 
      print('赢' if win else '输') 

  14 字典排序
  字典的key是姓名,value是身高,现在需要按照身高对字典重新排序。
  """ 
  字典排序 
  """ 
   
  hs = {'张三': 178, '李四': 185, '王麻子': 175} 
   
  print(dict(sorted(hs.items(), key=lambda item: item[1]))) 

  15 二元二次函数 v2.0
  将二元二次函数封装在函数中,方便调用。
  """ 
  二元二次函数 v2.0 
  """ 
   
  def f(x, y): 
      return 2 * x ** 2 + 3 * y ** 2 + 4 * x * y 
   
   
  print(f'f(1, 2) = {f(1, 2)}') 

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

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号