栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python.4 数据结构、for in 、九九乘法表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python.4 数据结构、for in 、九九乘法表

【缩进】 python最具特色的语法

定义:就是空格,且有数量要求:默认是4个空格,全文要一致 (缩进量)

作用:控制子语句的执行,是否执行又取决于它的父语句中的条件

原理:当父语句中的条件成立,则执行子语句,反之不执行子语句

格式:父语句 :

            子语句

说明:冒号是缩进的开始符,子语句前有4个空格,全文所有的缩进量都要保持一致 while 条件 for 条件

【选择结构】

含义:根据条件判断来选择性的执行哪里代码

原理:先对条件进行判断,如果条件成立则执行对应的子语句,

如果条件不成立,则不执行对应的子语句

说明:对条件只判断一次,其输出结果也只有一个

单词:if

实现方式: 4种

{单分支、双分支、多分支、嵌套分支} print("%d是偶数"%num)

方式1、单分支(只有一条语句)

格式:if  条件:

子语句

含义:如果条件成立(其bool值为真),则执行子语句,如果条件不成立,则不执行

示例1:从键盘上输入一个数字,并判断其是不是正数?

   num = int(input("请输入一个整数:"))

if  num>0:

               print(“%d是正数”%num)

示例2:从键盘上输入一个整数,并判断其是不是偶数?

num = int(input("请输入一个整数:"))

if  num%2==0:

         print(“%d是偶数”%num)   

方式2、双分支(有2条语句)

单词:else(反之,是对以上条件取反,自带了条件,不需要单独写条件)

格式:if  条件:

      子语句1

else:

      子语句2

含义:如果条件成立,则执行子语句1,反之条件不成立,则执行子语句2

示例1:从键盘上输入一个数字,并判断其是正数还是负数?

        num=int(input(“请输入一个数字:”))

        if    num>0:

             print(“{}是正数”.format(num))

        else:

             print(“%d是负数”%num)

示例2:从键盘上输入一个整数,并判断其是偶数还是奇数?

        num=int(input(“请输入一个整数:”))

        if    num%2==0:

             print(“{}是偶数”.format(num))

        else:

             print(“%d是奇数”%num)

示例3:商品促销,满200减10

        pay=float(input(“请输入商品的价格:”))

        if   pay>=200:

            pay=pay-10      # pay-=10

            print(“亲,你需支付{}元”.format(pay))

        else:

            print(“亲,你需支付{}元”.format(pay))

方式3、多分支(有多个条件,)

单词:elif    (else  if),先对以上条件取反,在重新判断新条件,可以多次出现

格式:if  条件1:

    子语句1

elif 条件2:

    子语句2

elif 条件3:

    子语句3

...

else:

       子语句4

含义:   如果条件1成立,则执行语句1,反之如果条件2成立,则执行语句2

        反之如果条件3成立,则执行语句3,

最后以上所有条件都不成立,则执行语句4

示例1:商品促销,满200减10,满500减30,满1000减100

            pay=float(input(“请输入商品的价格:”))

            if  0

                print(“亲需支付总价为%f”%pay)

            elif  200<=pay<500:

                pay-=10

                print(“亲需支付总价为%f”%pay)

            elif  500<=pay<1000:

                pay=pay-30

                print(“亲需支付总价为%f”%pay)

            elif  pay>=1000:

                pay=pay-100

                print(“亲需支付总价为%f”%pay)

            else:    #小于0的情况

                print(“亲,你输入有误”)

示例2:从键盘上输入2个整数,求最大值

        num1=int(input(“请输入第一个整数:”))

        num2=int(input(“请输入第二个整数:”))

        if  num1>num2:

            print(“{}最大”.format(num1))

        elif   num1

            print(“{}最大”.format(num2))

        else:

            print(“2个数一样大”)

示例3:从键盘输入考试分数并判定成绩级别:

0到60,判定为不及格

60到70,判定为及格

70到80,判定为良好

80到90,判定为优秀

90到100,判定为牛逼

其他则提示:“输入有误”

       score=int(input(“请输入学生的考试分数”))

       if   scroe>=0  and  score<60:

             print(“不及格”)

       elif   60<=socre<70:

             print(“及格”)

         …

       else:

             print(“输入有误”)

方式4、嵌套分支

思想:在一个条件语句中嵌套另外n个条件

示例1:从键盘上输入3个整数,求最大值

(先对2个数进行判断,然后将较大数进一步与第三个数判断)

        num1=int(input(“请输入第一个整数”))

        num2=int(input(“请输入第二个整数”))

        num3=int(input(“请输入第三个整数”))

        if  num1>num2:

            #num1大,进一步与num3比较

            If  num1>num3:

                 #num1最大

            Elif  num1

                 #num3最大

            Else:

                 #num1与num3都是最大值

       elif   num1

            #num2大,进一步与num3比较

            If  num2>num3:

                 #num2最大

            Elif  num2

                 #num3最大

            Else:

                 #num2与num3都是最大值

      Else:

            #num1=num2

            If  num2>num3:

                 #num2和num都是最大的

            Elif  num2

                 #num3最大

            Else:

                 #num1、num2与num3相等

示例2:登录,首先从键盘上输入用户名,并对其判断

如果用户名正确,则进一步从键盘上输入密码并判断密码

如果密码也正确,则输出“登录成功”

如果密码错误,则输出提示语“密码错误,请重新输入:”

如果用户名一开始就错误,输出提示语“用户名错误,请重新输入:”

参考代码:

username=input(“请输入用户名”)

if  username==”admin”:

    passwd=input(“请输入密码:”)

    If  passwd==”123”:

          print(“登录成功”)

    else:

          print(“密码错误,请重新输入”)

else:

   print(“用户名错误,请重新输入”)

【顺序结构】

含义:代码的编写顺序以及执行顺序都是要遵守从上往下、从左往右的顺序

示例1: a=10

         if  a>=10:

           print(a)

         print(a+10)

         #结果:10   20

示例2: a=10

         if  a>10:

            print(a)

         print(a+10)

         #结果:  20

【循环结构】

含义:重复做一件相同(相似)的事情(步骤、动作是一样,但数据可以不一样)

原理:循环对条件进行判断,条件每满足一次(成立一次),则执行对应的语句一次,一直到条件不满足时才结束循环。

说明:对条件多次判断,其输出结果也有多个

实现方式: 2种

方式1:while

分类:

A、死循环(不限次数)

B、指定次数循环,通过条件设置次数

分类1:死循环

特点:条件永远满足,代码会一直执行,需手动结束

格式:while 条件:

   循环语句(循环体)

写法: while  True :

while   2>1:

while   123:

示例:

while  True:

     print("这是si循环,根本停不下来~")  

分类2:指定次数循环

特点:根据条件满足的次数来控制循环的次数

组成:分三步

1)借助变量设置初始值(比如:最小值)

2)设置变量的满足条件(比如:最大值)

3)设置变量每次循环变化值(比如:步长)

格式:  变量=初始值

while  变量满足的条件:

    循环语句(循环体)

             变量的变化值

示例1:

i=1

while i<2:

print("我执行一次")

i=i+1

示 例2:

i=1

while i<=2:

print("我执行二次")

i=i+1

用法1:指定次数循环

案  例1:输出5次:"好好学习,天天向上"

      i=1

      while   i<=5:

          print(“好好学习,天天向上”)

          i+=1

      for  i  in   range(5):

          print(“好好学习,天天向上”)

案  例2:分别换行输出数字0~9

      i=0

      where  i<=9:

          print(i)

          i=1+i

      for  i  in   range(10):

          print(i)

用法2:while循环中嵌套条件语句

案  例3:输出数字1~50之间的偶数

      i=1

      while  i<=50:

         if   i%2==0:

             print(i)

         i+=1

      for  i  in   range(1,51):

          if   i%2==0:

             print(i)

案  例4:分别输出数字1~100之间的偶数和奇数

      i=1

      while  i<=100:

         if   i%2==0:

             print(“{}是偶数”.format(i))

         else:

             print(“{}是奇数”.format(i))

         i+=1

      for  i  in  range(1,101):

          if   i%2==0:

             print(“{}是偶数”.format(i))

          else:

             print(“{}是奇数”.format(i))

用法3:while循环中进行运算

案  例5:求数字1~100之间所有整数的之和

1+2+4+5+6+…+100

      i=1

      sum=0

      while  i<=100:

          sum=sum+i

          i+=1

      print(sum)

     sum=0

     for  i  in  range(1,101):

         sum=sum+i

     print(sum)

1-2-3-4-5-6-…-100

      i=1

      sum=2

      while  i<=100:

          sum=sum-i

          i+=1

      print(sum)

案  例6:求数字1~100之间所有整数的之乘积

1*2*3*4*5*6*…*100

      i=1

      sum=1

      while  i<=100:

          sum=sum*i

          i+=1

      print(sum)

1/2/3/4/5/6/…/100

用法4:while循环中嵌套条件语句并进行运算

案  例7:求数字1~50之间偶数之和

i=1

      sum=0

      while  i<=50:

          if   i%2==0:

              sum=sum+i

          i+=1

      print(sum)

     sum=0

     for  i  in  range(1,51):

         if   i%2==0:

             sum=sum+i

     print(sum)

案  例8:求数字1~100之间偶数之和以及奇数之和

i=1

      sum1=sum2=0

      while  i<=100:

          if   i%2==0:

              sum1=sum1+i

          else:

              sum2=sum2+i

          i+=1

      print(sum1,sum2)

用法5:while循环中嵌套while循环

案  例9:九九乘法表

1x1=1

1x2=2  2x2=4

1x3=3  2x3=6  3x3=9        j * i =  i*j

1x9=9  2x9=19 ….

外层循环控制输出的行数(9行)

内层循环输出每一行的数据(数据有规律)

i=1

while  i<=9:

      j=1

     while  j<=i

         #  输出表达式

         print({0}x{1}={2}.format( j , i , j*i),end=   )

         j+=1

     print()    #换行

     i+=1

i=1

while  i<10:

    j=1

    while  j<=i:        #j<=i  这是找规律得来的

        res = "%d*%d=%d"%(i , j , i*j)   #乘法表达式

        print(res , end=”   ”)    #内层循环的输出,不换行

        j+=1

    print("")        #外层循环的输出:换行

    i+=1

用法6:借助break语句来中止(结束)循环

        break是一个独立语句,占一行

案  例10:输出数字1~9,当输出5时结束循环

        1 2 3 4

        i=1

        While   i<=9

            if  i==5:

               break

            print(i)

            i+=1

用法7:借助continue语句跳过当前的循环,继续下一轮循环

continue是一个独立语句,占一行

案  例12:输出数字1~9,当输出5时跳过循环继续下一个循环

         1 2 3 4 6 7 8 9

        i=1

        While   i<=9

            if  i==5:

               continue

            else:

print(i)

               i+=1

案  例13:循环输入密码,输对了就结束但只有三次机会

i=1

while i<=3:

    passwd=input("请输入密码:")

    if  passwd==123:

        print("正常开机")

        break  

    i+=1

    

案  例14:输入账号和密码登录,密码只有三次机会

while  True:

name=input('请输入你用户名:')

if  name=='www':

i=1

    while  i<=3:

       password=input('请输入密码:')

       if password=='123':

          print('登录成功')

          break

       else:

print("密码错误")

i+=1

    break

  else:

print('用户名错误,请重新输入:')

方式2:for    in     超级重点

格式:for    变量名    in    对象:

  循环体

含义:遍历对象中的每一个元素(数据),

原理:让变量按顺序依次去访问对象中的每个元素(数据),

每访问到一个元素(数据),执行循环体一次,

直到没有元素(数据)被访问了才结束遍历,

所以对象中有几个元素(数据),循环体就执行几次~

说明1:变量名,是我们人为设定,根据需求,数量不限

说明2:访问,是让变量去访问,说白了就是赋值,依次访问就是依次赋值

说明3:对象,一般是列表、字典或者字符串等

特点:for遍历(循环)实现的一般都是指定次数的循环,次数取决于对象的数据个数

     range()   用于给for指定次数

     含义:这是python内建函数

     作用:生产一个序列数字对象,该序列对象中数据为数字

     格式:range(最小数字,最大数字,步长)

     说明1:数字都是整数

     说明2:最小数字的默认值为0,包含在内

     说明3:最大数字不包含在内

     说明4:默认步长为1

     示例1:

           for  i    in   range(0,10)

               print(i)

           #输出结果为:0 1 2 3 4 5 6 7 8 9

     示例2:range(5)    #0 1 2 3 4

     示例3:range(1,9,2)  #1 3 5 7

案例1:

for  i  in  'python':     

   print(i,end=”+”)

#结果:换行输出p y t h o n

案例2:

for  i  in  'Python':     

   print("我想一夜暴富")

#结果:输出6次:我想一夜暴富

案例3:

goods = ['手机', '电脑', '平板']

for  i  in  goods:

   print(i)

#结果:手机 电脑 平板

案例4:

goods = ['手机', '电脑', '平板']

for  i  in  goods:

print("我想买%s"%i)

#结果: 我想买手机   我想买电脑  我想买平板

案例5:多变量并行访问多个对象,借助zip连接多个对象

        user=[‘张三丰’ , ’张翠山’ , ’张无忌’]

        num=[100,50,91]

        for  name , age  in  zip(user , num):

             Print(“{0}的年龄为{1}岁”.format(name , age) )

案例6:遍历字典对象

data={“username”:”admin” , “password”:”admin123”}

for  key  in  data.keys():

print(key)

for  value  in  data.values():

print(value)

for  key , value  in  data.items():

print(key , value) 我想买电 我想 我想买手 我想买 我想买平板

练习1:九九乘法表   (range(1,10))   2个for可以实现

for  i  in  range(1,10):
    for  j  in  range(1 , i+1):
        res="{0}*{1}={2}".format( j , i, j*i)
        print(res,end="   ")

print()

练习2:冒泡排序    2个for循环+条件判断

arr=[1,5,8,2,4,9,6]   #来自需求

for  i  in  range( 0 , len(arr) ):

for  j  in  range(0 , len(arr)-i-1):

 if  arr[j]  >  arr[j+1] :     #>  是升序,<  是降序

arr[j] , arr[j+1] = arr[j+1], arr[j]

print(arr)

练习3:组合   3个for循环+if条件

       1元、5元、10元组合为20元,有多少种组法?

count=0

for  a   in  range(0,21):

for   b   in   range(0,5):

     for  c  in  range(0,3):

          if  a*1+b*5+c*10==20:

               count=count+1

print(count)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号