Python基础之判断语句与循环语句

一 嵌套if应用

      情节描述:上公交车,并且可以有座位坐下
      要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下

       import  random
       money = int(input("请输入公交卡余额:"))
       numbers  = random.randint(0,2)
       if money >= 2:
           print("请上车")
           if numbers > 0:
               print("有空座位")
           else:
               print("没有座")
       else:
           print("余额不足")

      猜拳小游戏

       import random
       play = input("请输入 石头(1) 剪子(2) 布(2):")
       playr = int(play)
       system = random.randint(1,3)
       if (playr == 1 and system == 1) or (playr == 2 and system == 2) or (playr == 3 and system == 3):
           print(system)
           print("平局")
       elif (playr == 1 and system ==2) or  (playr == 2 and system ==3) or  (playr == 3 and system ==1):
           print(system)
           print("你赢了")
       else:
           print(system)
           print("你输了")

二 while循环应用

      计算1~100的累积和(包含1和100)

       i = 1
       sum = 0
       while i <= 100:
           sum = sum + i
           i += 1
       print("累积和:%d"%sum)

      计算1~100之间偶数的累积和(包含1和100)

       i = 1
       sum = 0
       while i<= 100:
           if i%2 == 0:
               sum = sum + i
           i+=1
       print("偶数和:%d"%sum)

三 break、continue

      break的作用:用来结束整个循环
      continue的作用:用来结束本次循环,紧接着执行下一次的循环
      注意点
      break/continue只能用在循环中,除此以外不能单独使用
      break/continue在嵌套循环中,只对最近的一层循环起作用

四 while循环嵌套应用

      九九乘法表

       i = 1
       while i <= 9:
           j = 1
           while j <= i :
               print("%d*%d=%-2d "%(j,i,i*j),end='')
               j += 1
           print("\n")
           i += 1

五 for循环

       name = "zhangsan"
       for i in name:
           print(i)
           if i == "n":
               print("停止")

六 总结

      if往往用来对条件是否满足进行判断
      if有4中基本的使用方法:

      基本方法
      if 条件:
      满足时做的事情
      满足与否执行不同的事情


      if 条件:
      满足时做的事情
      else:
      不满足时做的事情


      多个条件的判断

      if 条件:

      满足时做的事情
      elif 条件2:
      满足条件2时做的事情
      elif 条件3:
      满足条件3时做的事情
      else:
      条件都不满足时做的事情


      嵌套

      if 条件:
      满足时做的事情

      这里还可以放入其他任何形式的if判断语句
      while循环一般通过数值是否满足来确定循环的条件

      i = 0
      while i<10:
      print("hello")
      i+=1
      for循环一般是对能保存多个数据的变量,进行便利

      name = 'zhangsan'

      for x in name:
      print(x)
      if、while、for等其他语句可以随意组合,这样往往就完成了复杂的功能

七 练习

      1. 使用if,编写程序,实现以下功能:

            从键盘获取用户名、密码
            如果用户名和密码都正确(预先设定一个用户名和密码),那么就显示“欢迎进入xxx的世界”,否则提示密码或者用户名错误

      user = '张三'
      passwd = 'admin123'
      u = str(input("请输入用户:"))
      p = input("请输入密码:")
      if u == user and p == passwd:
          print("欢迎进入%s的世界"%u)
      else:
          print("密码或者用户名错误")

      2. 使用while,完成以下图形的输出
            *
            * *
            * * *
            * * * *
            * * * * *
            * * * *
            * * *
            * *
            *

      i = 1
      while i <= 5:
          print("{:<50}".format(' '.join('*'*i)))
          i += 1
      j = 4
      while j >= 1:
          print("{:<50}".format(' '.join('*' * j)))
          j -= 1

      3.根据以下信息提示,请帮小明计算,他每月乘坐地铁支出的总费用

      提示信息:
      北京公交地铁新票价确定
      据北京市发改委网站消息称,北京市将从2015年12月28起实施公共交通新票价:地铁6公里(含)内3元,公交车10公里(含)内2元,使用市政交通一卡通刷卡乘公交车普通卡5折,学生卡2.5折。
      具体实施方案如下:
      一、城市公共电汽车价格调整为:10公里(含)内2元,10公里以上部分,每增加1元可乘坐5公里。使用市政交通一卡通刷卡乘坐城市公共电汽车,市域内路段给予普通卡5折,学生卡2.5折优惠;市域外路段维持现行折扣优惠不变。享受公交政策的郊区客运价格,由各区、县政府按照城市公共电汽车价格制定。
      二、轨道交通价格调整为:6公里(含)内3元;6公里至12公里(含)4元;12公里至22公里(含)5元;22公里至32公里(含)6元;32公里以上部分,每增加1元可乘坐20公里。使用市政交通一卡通刷卡乘坐轨道交通,每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;满150元以后的乘次,价格给予5折优惠;支出累计达到400元以后的乘次,不再享受打折优惠。
      要求:
      假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的地铁;每月月初小明第一次刷公交卡时,扣款5元;编写程序,帮小明完成每月乘坐地铁需要的总费用

         day = int(input("请输入上班天数:"))
         count = int(day*2)
         money = int(count*5)
         type = str(input("请输入公交卡类型(普通公交卡=1、学生卡=2):"))
         if type == "1":
             type = str("普通公交卡")
             if money <= 100:
                 money = money * 0.5
             elif money >= 100 and money <= 150:
                 money = 100 + (money - 100) * 0.5 * 0.8
                 print(money)
             elif money >= 150 and money <= 400:
                 money = 150 + (money - 150) * 0.5 * 0.5
             elif money >= 400:
                 money = 400 + (money - 150) * 0.5
             print("\n本月上班:%s天,共做地铁:%d次,公交卡类型:%s,累积费用:%s元" % (day, count, type, money))
         elif type == "2":
              type = str("学生卡")
              if money <= 100:
                  money = money * 0.25
              elif money >= 100 and money <= 150:
                  money = 100 + (money - 100) * 0.25 * 0.8
                  print(money)
              elif money >= 150 and money <= 400:
                  money = 150 + (money - 150) * 0.25 * 0.5
              elif money >= 400:
                  money = 400 + (money - 150) * 0.25
              print("\n本月上班:%s天,共做地铁:%d次,公交卡类型:%s,累积费用:%s元" % (day, count, type, money))
         else:
             print("公交卡类型不符")

posted on 2021-12-30 16:16  明.Sir  阅读(292)  评论(0编辑  收藏  举报

导航