精华内容
下载资源
问答
  • 1234 输出 4321 n = int(input('n=')) total = 0 while n > 0: total = total * 10 + n % 10 n //= 10 #n=n//10 print(total)
  • python循环结构 练习

    千次阅读 2019-08-15 17:00:07
    循环结构 –for - in 循环 如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环。 #用于设定for循环的迭代次数 #range也是一个前闭后开 #可迭代对象 for x in range...

    循环结构
    –for - in 循环
    如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环。

    #用于设定for循环的迭代次数
    #range也是一个前闭后开
    #可迭代对象
    for x in range(101):
    	sum += x
    	print(sum)
    

    需要说明的是上面代码中的range类型,range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:

    • range(101)可以产生一个0到100的整数序列。
    • range(1, 100)可以产生一个1到99的整数序列。
    • range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。
    • 我们可以用下面的代码来实现1~100之间的偶数求和。
    for循环实现1~100之间的偶数求和
    sum = 0
    for x in range(2, 101, 2):
        sum += x
    print(sum)
    

    也可以通过在循环中使用分支结构的方式来实现相同的功能,代码如下所示。

    sum = 0
    for x in range(1,101):
    	if x % 2 == 0:
    		sum += x
    print(sum)
    

    #while循环
    while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

    猜数字小游戏
    猜数字游戏
    计算机出一个1~100之间的随机数由人来猜
    计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
    import random
    
    answer = random.randint(1, 100)
    counter = 0
    while True:
        counter += 1
        number = int(input('请输入: '))
        if number < answer:
            print('大一点')
        elif number > answer:
            print('小一点')
        else:
            print('恭喜你猜对了!')
            break
    print('你总共猜了%d次' % counter)
    if counter > 7:
        print('你的智商余额明显不足')
    

    **说明:**上面的代码中使用了break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。

    输出乘法口诀表(九九表)
    for i in range(1, 10):
        for j in range(1, i + 1):
            print('%d*%d=%d' % (i, j, i * j), end='\t')
        print()
    

    #练习

    练习1:输入一个数判断是不是素数。
    from math import sqrt
    
    num = int(input('请输入一个正整数: '))
    end = int(sqrt(num))
    is_prime = True
    for x in range(2, end + 1):
        if num % x == 0:
            is_prime = False
            break
    if is_prime and num != 1:
        print('%d是素数' % num)
    else:
        print('%d不是素数' % num)
    
     练习2:输入两个正整数,计算最大公约数和最小公倍数。
     x = int(input('x = '))
    y = int(input('y = '))
    if x > y:
        x, y = y, x
    for factor in range(x, 0, -1):
        if x % factor == 0 and y % factor == 0:
            print('%d和%d的最大公约数是%d' % (x, y, factor))
            print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
            break
    
    练习3:打印三角形图案。
    
    row = int(input('请输入行数: '))
    for i in range(row):
        for _ in range(i + 1):
            print('*', end='')
        print()
    
    
    for i in range(row):
        for j in range(row):
            if j < row - i - 1:
                print(' ', end='')
            else:
                print('*', end='')
        print()
    
    for i in range(row):
        for _ in range(row - i - 1):
            print(' ', end='')
        for _ in range(2 * i + 1):
            print('*', end='')
        print()
    
    练习4 银行卡密码
    
    用户只能输入三次密码,如果密码错误则锁定账号
    
    ```python
    ini_passward = 100000
    input_ = int(input('请输入密码>>:'))
    
    for i in range(2):
        if input_ == ini_passward:
            print('OK')
            break
        else:
            print('密码错误,请尝试重新输入')
            input_ = int(input('请输入密码>>:'))
    else:
        print('账号锁定,请移步至柜台你个傻X..')
    
     练习5 验证码
    for i in range(3):
        yanzhengma = random.randrange(1000,9999)
        print('验证码为: %d' % yanzhengma)
        input_ = int(input('请输入验证码>>:'))
        if input_ == yanzhengma:
            print('欢迎您,您真是一个小天才.')
            break
        else:
            print('验证码错误,请尝试重新输入")
    
    展开全文
  • python循环结构

    千次阅读 2018-04-29 13:11:15
    while循环: 在给定的判断条件为true时执行循环体,否则退出循环1、while 判断条件: 执行语句.....(注:当判断条件为false时,结束循环)2、break:用来终止循环语句,跳出整个循环,即循环条件没有false的时候或者序列还...

    while循环:

                               在给定的判断条件为true时执行循环体,否则退出循环

    1、while 判断条件:

        执行语句.....

    (注:当判断条件为false时,结束循环)

    2、break:用来终止循环语句,跳出整个循环,即循环条件没有false的时候或者序列还没被执行完,也会停止执行循环语句。

    3、continue:跳出本次循环,然后继续进行下一轮循环。

    4、while执行语句可以是单个语句或语句块。判断条件可以是任何表达式,非0,非空的值均为true。

        当判断条件为false时,循环结束。

    例题:1


    例题2:


    while 判断条件:

                执行代码块

    else:

            执行代码块

    例1:

    x=1

    while x<5:

        print(x,'小于5')

        x+=1

    else:

        print(x,'等于5')

    结果为:


       例2:



    for循环:可以遍历任何序列的项目,如一个列表或一个字符串

        语法:    for  x in range(1,x)--可以是列表/元祖/字典(逐个从列/元/字中取出值)

                                    循环体

    range()返回序列中的数

    例1:输出range(0,9)中的元素

    for x in range(0,9):

            print(x)


    注:内置函数len()返回列表的长度,即元素的个数。

        range()返回一个序列的数。

    例2:输出列表

    for x in range(0,9):

                print(list(x)) #list()获取序列


    例3:

    x=[1,2,3,4,5]
    for y in range(len(x)):
        break
     print(len(x))
    输出的结果为列表的长度


    例4.

    例5:9*9乘法表

    for x in range(1,10):

        for y in range(1,x+1):

            print(y,'*',x,'=',(x*y),end='\t')

        print()


    例6:



    for......else:如果for循环中意break结束,则不进入else中,否则当for循环自己结束的进入else

    例1:

    for x in range(1,9):

         for y in range(1,x):

            if(x%y==0):

            break

        else:

            print(x)

    结果:1

    例2:

    for x in range(1,9):

         for y in range(1,x):

            if(x%y==0):

            break

    else:

      print(x)

    结果:8






    展开全文
  • Python中分支结构:1.在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他...

    Python中分支结构:

    1.在Python中,要构造分支结构可以使用if、elif和else关键字。

    所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。

    2.Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

    3.例题:

    """

    分段函数求值

    3x - 5(x > 1)

    f(x) =x + 2(-1 <= x <= 1)

    5x + 3(x < -1)

    """

    x = float(input('x = '))

    if x > 1:

    y = 3 * x - 5

    else:

    if x >= -1:

    y = x + 2

    else:

    y = 5 * x + 3

    print('f(%.2f) = %.2f' % (x, y))

    Python中循环:

    1.在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

    1.1 for ...in...循环:

    如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环:

    例题:

    """

    用for循环实现1~100求和

    """

    sum = 0

    for x in range(101):

    sum += x

    print(sum)

    注意一点:

    需要说明的是上面代码中的range类型,range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:

    range(101)可以产生一个0到100的整数序列。

    range(1, 100)可以产生一个1到99的整数序列。

    range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。

    1.2 while循环:

    如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束

    例题:

    """

    输入一个正整数判断它是不是素数

    """

    from math import sqrt

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

    end = int(sqrt(num))

    is_prime = True

    for x in range(2, end + 1):

    if num % x == 0:

    is_prime = False

    break

    if is_prime and num != 1:

    print('%d是素数' % num)

    else:

    print('%d不是素数' % num)

    1670733-20190804112759970-838740362.png

    代码:

    z=0

    f=0

    sum=0

    count=0

    d=1

    def yun(d):

    global z,f,sum,count

    while d!=0:

    d=int(input('Enter an integer,the ends if it is 0:'))

    if d>0:

    z+=1

    if d<0:

    f+=1

    sum+=d

    if d!=0:

    count+=1

    print('正数个数:%d' % z)

    print('负数个数:%d' % f)

    print('和为:%d' % sum)

    print('平均数是:%f' % (sum/count))

    yun(d)

    1670733-20190804112930850-1079457906.png

    展开全文
  • 第四章Python循环结构

    2021-01-10 17:32:28
    一、while循环结构 二、遍历循环结构 三、break和continue 四、循环嵌套---99乘法表 五、循环嵌套---素数判定 六、循环与else搭配用法 七、随机数求圆周率 八、穷举法---百元买百鸡 九、递推法---斐波那契数列 十、...

    第四章Python循环结构

    一、while循环结构

    1、语法格式为:

    while <条件>表达式:
        循环体语句块

    #求1加到100的和
    s = 0
    i = 1
    while i <= 100:
        s += i
        i += 1
    print("1加到100的和:", s)
    
    
    #求1加到100之间奇数的和
    s = 0
    i = 1
    while i <= 100 :
        s += i
        i += 2
    print("1加到100之间奇数的和:", s)
    
    #求1加到100之间偶数的和
    s = 0
    i = 2
    while i <= 100 :
        s += i
        i += 2
    print("1加到100之间偶数的和:", s)
    

    总结:

    (1)while循环是先判断再执行,因此循环体语句块有可能出现一次也不执行的情况。

    (2)要注意循环体语句块的缩进格式,while语句只执行其后的一条或一组同一缩进格式的语句块。

    二、遍历循环结构

    1、遍历循环:遍历某一个结构形成的循环运行方式,也称为for循环结构。

    2、语法格式为:

    for 循环变量 in 遍历结构:
        循环体语句块

    3、常见四种遍历情况
    ①遍历字符串

    #遍历字符串
    for x in "ABCD":
        print(x)
    

    ②range函数产生的数字序列

    语法格式为:

    for 循环变量 in range([start,]end[,step]:
        循环体语句块

    #range函数产生的数字序列
    for x in range(8):
        print(x)
    for x in range(2,8):
        print(x)
    for x in range(2,8,4):
        print(x)
    

    ③列表、元组、字典

    #列表、元组、字典
    city = ['北京','上海','西安','成都']
    for x in range(len(city)):
        print(x,city[x])
    
    

    ④文件

    文件位置:"D:\文件001.txt

    文件001

    #文件
    for x in open("D:\文件001.txt"):
        print(x, end='')
    

    运行结果:
    遍历文件

    三、break和continue

    1、break语句:break语句跳出并结束当前整个循环,执行循环后的语句。

    例题:有一阶梯,如果每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每
    步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,正好到达阶梯顶,
    问阶梯至少有多少阶?

    s = 0
    while True:
        if s%2==1 and s%3==2 and s%5==4 and s%6==5 and s%7==0:
            break
        s = s + 1
    print("阶梯至少:",s,"阶")
    
    

    2、continue语句:continue语句用来跳过当前这次循环,继续进行下次循环

    例题:求100到200之间所有非3的倍数之和?

    sum = 0
    for i in range(100,202):
        if i%3 == 0:
            continue
        sum += i
    print("100到200之间所有非3的倍数之和:",sum)
    

    3、小结:

    break和continue可以与for和while循环搭配使用,起到辅助控制循环的作用。

    四、循环嵌套—99乘法表

    1、循环嵌套:在一个循环体内又包含了循环结构,这种结构称为循环嵌套。

    2、九九乘法表(一般)

    #九九乘法表
    for i in range(1,10):
        for j in range(1,10):
            #print(i,"*",j,"=",i*j,end='')
            print('%d*%d=%2d  '%(j,i,i*j),end='')
        print()
    

    运行结果:

    1*1= 1  2*1= 2  3*1= 3  4*1= 4  5*1= 5  6*1= 6  7*1= 7  8*1= 8  9*1= 9  
    1*2= 2  2*2= 4  3*2= 6  4*2= 8  5*2=10  6*2=12  7*2=14  8*2=16  9*2=18  
    1*3= 3  2*3= 6  3*3= 9  4*3=12  5*3=15  6*3=18  7*3=21  8*3=24  9*3=27  
    1*4= 4  2*4= 8  3*4=12  4*4=16  5*4=20  6*4=24  7*4=28  8*4=32  9*4=36  
    1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25  6*5=30  7*5=35  8*5=40  9*5=45  
    1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  7*6=42  8*6=48  9*6=54  
    1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  8*7=56  9*7=63  
    1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  9*8=72  
    1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81   
    

    3、九九乘法表(下三角)

    #九九乘法表(下三角)
    for i in range(1,10):
        for j in range(1,1+i):
            #print(i,"*",j,"=",i*j,end='')
            print('%d*%d=%2d  '%(j,i,i*j),end='')
        print()
    

    运行结果:

    1*1= 1  
    1*2= 2  2*2= 4  
    1*3= 3  2*3= 6  3*3= 9  
    1*4= 4  2*4= 8  3*4=12  4*4=16  
    1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25  
    1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
    1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
    1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
    1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81   
    

    4、九九乘法表(上三角)

    #九九乘法表(上三角)
    for i in range(1, 10):
        print(" "*(i-1)*8, end='')
        for j in range(i, 10):
            #print(i,"*",j,"=",i*j,end='')
            print('%d*%d=%2d  '%(i, j, i*j), end='')
    print()
    

    运行结果:

    1*1= 1  1*2= 2  1*3= 3  1*4= 4  1*5= 5  1*6= 6  1*7= 7  1*8= 8  1*9= 9  
            2*2= 4  2*3= 6  2*4= 8  2*5=10  2*6=12  2*7=14  2*8=16  2*9=18  
                    3*3= 9  3*4=12  3*5=15  3*6=18  3*7=21  3*8=24  3*9=27  
                            4*4=16  4*5=20  4*6=24  4*7=28  4*8=32  4*9=36  
                                    5*5=25  5*6=30  5*7=35  5*8=40  5*9=45  
                                            6*6=36  6*7=42  6*8=48  6*9=54  
                                                    7*7=49  7*8=56  7*9=63  
                                                            8*8=64  8*9=72  
                                                                    9*9=81  
    

    五、循环嵌套—素数判定

    例题:输出2-100之间的所有素数。

    素数:就是一个只能被1和它本身整除的整数。

    步骤:

    1. 判断n是否是素数
    2. n从2到100循环,逐个判断每个数是否
      是素数。
    import math
    #n = eval(input("请输入一个整数:"))
    for n in range(2,101):
        m = int(math.sqrt(n))
        for i in range(2,m+1):
            if n%i == 0 :
                break
        else:
            print(n,"是素数")
    

    六、循环与else搭配用法

    1、for循环与else搭配

    for 循环变量 in 遍历结构:
        语句块1
    else:
        语句块2

    2、while循环与else搭配

    while <条件表达式>:
        语句块1
    else:
        语句块2

    3、小结:

    (1)else语句块作为循环正常结束的补充

    (2)当循环没有被break语句中断时,执行else语句块

    七、随机数求圆周率

    方法:撒点法

    from random import random
    #随机数求圆周率
    s = eval(input("请输入循环次数:")) #单位正方形内总的撒点数
    n = 0                # n代表1/4圆内部的撒点数
    for i in range (1,s+1):
        x,y = random(),random() #撒点的x和y坐标
        if x*x+y*y <= 1:  #如果点在圆内部则计数
            n=n+1
    pi=4*(n/s)   #计算pi
    print("圆周率是:{}".format(pi))
    

    八、穷举法—百元买百鸡

    问题:

    公元五世纪我国数学家张丘建在其《算经》一书中提出了“百鸡问题 ”:“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。百钱买百鸡,问鸡翁、母、雏各几何?”

    for x in range(0,21):
        for y in range(0,34):
             if 5*x+3*y+(1/3)*(100-x-y)==100:
                print("公鸡%d只,母鸡%d只,小鸡%d只"%(x,y,100-x-y))
    

    运行结果:

    公鸡0只,母鸡25只,小鸡75只
    公鸡4只,母鸡18只,小鸡78只
    公鸡8只,母鸡11只,小鸡81只
    公鸡12只,母鸡4只,小鸡84

    九、递推法—斐波那契数列

    斐波那契数列(Fibonacci sequence),又称黄金分割数列,因以兔子繁殖为例子而引入的,故又称为“兔子数列”。指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。

    分析:在数学上,斐波纳契数列以递推的方法定义如下:
    F(1)=1,F(2)=1,
    F(n)=F(n-1)+F(n-2) (n>=3,n∈N*)

    n=eval(input("请输入数列的个数:"))
    a=b=1
    count=2
    print("%6d%6d"%(a,b),end=' ')
    for i in range(3,n+1):
        c=a+b
        print("%6d"%c,end=' ')
        count+=1
        if count %6 == 0:
            print()
        a=b
        b=c
    

    运行结果:

    请输入数列的个数:26
         1     1      2      3      5      8 
        13     21     34     55     89    144 
       233    377    610    987   1597   2584 
      4181   6765  10946  17711  28657  46368 
     75025 121393 
    

    十、循环打印图形

    1、图形一
    图形1

    for i in range(1,5):
        print(' '*(11-i),end=' ')
        print('*'*(2*i-1))
    
               *
              ***
             *****
            *******
    

    2、图形二
    图形2

    for i in range(1,5):
        print(' '*(11-i),end=' ')
        print('*'*(2*i-1))
    for i in range(3,0,-1):
        print(' '*(11-i),end=' ')
        print('*'*(2*i-1))
    

    运行结果:

               *
              ***
             *****
            *******
             *****
              ***
               *	
    

    3、图形三
    图形3

    for i in range(1,5):
        print(' '*(11-i),end=' ')
        print(chr(64+i)*(2*i-1))
    

    运行结果:

               A
              BBB
             CCCCC
            DDDDDDD
    

    4、图形四
    图形4

    for i in range(1,5):
        print(' '*(11-i),end=' ')
        #print(chr(64+i)*(2*i-1))
        for j in range(1,2*i):
            print(chr(64+j),end='')
        print()
    

    运行结果:

               A
              ABC
             ABCDE
            ABCDEFG
    

    十一、程序调试—print

    1、 简单程序—打印变量

    2、复杂程序– 写日志文件

    十二、调试程序—断点跟踪

    • 寻找合适的位置设置断点
    • 逐步跟踪是F8
    • 运行到光标是Alt+F9
    • 在上方的窗口或下方窗口
    • 查看运行时变量的值
    • 分析变量的值的变化

    十三、异常处理

    1、异常:指程序运行过程中出现的错误或遇到的意外情况。

    2、异常处理:

    • 异常处理可以在一定程度上可以提高程序的健壮性

    • 同时把错误信息转换为友好的提示呈现给最终用户

    3、基本语法:

    try…except

    try:
        <语句块1>
    except: #任何错误
        <语句块2>

    try的完整语法

    try:
        <语句块1>
    except: <异常类型1>
        <语句块2>
    except: <异常类型2>
        <语句块3>
    else:
        <语句块4>
    finally:
        <语句块5>

    展开全文
  • Python循环结构练习2

    2020-03-23 17:41:58
    Problem A:【循环结构】输出数列2,-5,8,-11,14… 题目描述 输入正整数n(n≤100),输出数列2,-5,8,-11,14…的前n项。每行1个数。 样例输入 输入正整数n(n≤100) 样例输出 输出数列2,-5,8,-11,14…的...
  • Python循环结构练习3

    2020-03-30 16:03:06
    题目描述 输入正整数N(1≤N≤9),输出数字阵列 样例输入 5 样例输出 1 12 123 1234 12345 答案 n=eval(input()) i=1 while i<=n: j=1 while j<=i: print(j,end="") j +=1 print() i +=1 ...
  • 1.分支结构和循环结构----的代码练习! 一.分支结构 在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用...
  • 在数组中的下标千万不能出错 ***求最大值(循环结构) 描述 利用循环结构编写代码,实现以下功能(不使用循环不得分):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,722
精华内容 4,688
关键字:

python循环结构例题

python 订阅