Pyton学习—循环语句
admin
2023-07-21 10:01:55
0

1.Python内置函数range()

语法:

range(start,end[,step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

注意:
在Python2中我们查看range()函数帮助可以看到它返回的是一个列表:
Return a list containing an arithmetic progression of integers.
而在Python3中,range()函数的帮助可以看到返回的是一个整数序列的对象,而不是列表:
Return an object that produces a sequence of integers

举栗子:
1.当start小于end时:(步长为正数)

>>>range(10)          # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0)
[]
>>> range(1, 10)      # 从 1 开始到 9
[1, 2, 3, 4, 5, 6, 7, 8, 9,]
>>> range(0, 30, 5)   # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)   # 步长为 3
[0, 3, 6, 9]
>>> range(0,10,-2)    #错误的步长
[]

2.当start大于end时:(步长要为负数)

>>> range(10,0,-1)    #步长为-1
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> range(0,-10,-2)   #步长为-2
[0, -2, -4, -6, -8]
>>> range(0,-10,2)    #错误的步长
[]
>>> range(1, 0)       #错误的步长
[]

2.循环语句

1.for 循环 :重复执行语句

语法格式:
(1).

for 变量 in 序列:
    语句1
    语句2
    ...

(2).

for 变量 in range(10):
    语句1
    语句2
    ...
else:
    循环体正常结束后接着执行的语句

若在for循环体中执行了break,直接跳出循环,else后的语句不会被执行。

举栗子:
(1).累加1~100

sum = 0
for i in range(1,101):
    sum = sum + i
print(sum)

程序执行结果为:
5050

(2).求1~100之间所有偶数的和;求1~100之间所有奇数的和

sum1=0
sum2=0
for i in range(2,101):
    if i%2 == 0:
        sum1+=i
    else:
        sum2+=i
print('1~100所有偶数和:%d\n1~100所有奇数和:%d' %(sum1,sum2))

(3).用户输入一个×××数, 求该数的阶乘; 如3!=321=6

sum3=1
x=int(input('请输入阶乘数:'))
if x>0:
    for i in range(1,x+1):
        sum3*=i
    print('%d的阶乘为:%d' %(x,sum3))
else:
    print('请输入有效的数字!')

(4).输入用户帐号密码,判定是否正确,连续三次错误不可再次输入

for i in range(3):
        name=input('请输入帐号:')
        passwd=input('请输入密码:')
        if name=='root' and passwd=='redhat':
                print('登陆成功!')
                break
        else:
                print('帐号或密码错误!')
else:
        print('输入错误次数达到三次,请稍后重试!')

程序测试执行:
Pyton学习—循环语句

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

(1).

while 条件语句:
    满足条件执行的语句

(2).

while 条件语句:
    满足条件执行的语句
else:
    条件不满足后执行的语句

若在while循环体中执行了break,直接跳出循环,else后的语句不会被执行。

举栗子:
(1).计算累加1~100

  i = 1
while  i <=100:
    sum += i
    i += 1
print(sum)

程序执行结果为:
5050
(2).模拟linux的shell

import os
cmd=''
while True:
    cmd=input('[root@host dir]#')
    if cmd=='exit':
        print('\n程序已经退出cmd模式!\n')
        break
    elif cmd=='logout':
        print('\n已经退出本程序!\n')
        exit()
    else:
        print('\n正在运行命令:%s\n' %cmd)
        os.system(cmd)

程序测试执行:
Pyton学习—循环语句
(3).求两个数的最大公约数和最小公倍数

x,y=input('请输入两个数(以,分隔):').split(',')
x=int(x)
y=int(y)
min=x if xy else y
if max%min==0:
    xmin=min
    xmax=max
else:
    i=int(min/2)
    while i > 0:
        if min%i==0 and max%i==0:
            xmin=i
            xmax=(x*y)/xmin
            break
        else:
            i-=1
print('最大公约数:%d \n最小公倍数:%d' %(xmin,xmax))

程序测试执行:
Pyton学习—循环语句
(4).用while循环实现for循环的题(4)

count=0
while count<3:
    x,y=input().split(' ')
    if x=='root' and y=='westos':
        print('logined')
        break
    else:
        count+=1
else:
    print('3 times ')

程序测试执行:
Pyton学习—循环语句
(5).猜数字游戏

import random
answer=random.randint(1,100)
count=1
guess=int(input('你有5次机会,猜一猜这个100以内的整数是:'))
while count<5:
    if guess==answer:
        print('nice!你猜对了,然而并没有什么奖励!')
        break
    else:
        if guess > answer:
            print('你猜的数字有点大哦,加油!')
        else:
            print('你猜的数字有点小哦,加油!')
        print('你还有%d此机会,在猜:' %(5-count),end="")
        guess=int(input())
        count+=1
else:
    print('猪啊,5次机会用完了!这个数是%d!' %answer)
3.while死循环
(1).bool值
while True:
    pass
(2).数值
while 1:
    pass
(3).永真条件
while 2>1:
    pass

相关内容

热门资讯

白宫宴会厅越建越贵,特朗普被曝... 白宫宴会厅越建越贵,特朗普被曝动用公款,这到底是怎么回事?特朗普为何对宴会厅如此执着?特朗普心心念念...
外墙防水施工多少钱一平方 外墙防水多少钱一平方米45-70元1、需要根据当地市场行情及施工环境来估算,一线城市人工费相对来说比...
南宁外墙渗水防水补漏多少钱 其他2条回答 回复者:花与少年cn 外墙防水的话,如果漏的情况不多。可以建议用补漏剂,这样节约成...
建筑防水布大概多少钱 已有2条回答 回复者:gsk88952481 建筑防水布的价格主要是在55元一平方米,这种建...
请问做外墙防水堵漏的师傅一天多... 已有2条回答 回复者:魏滨海 外墙防水堵漏楼主你好,很高兴我能为你回答这个问题,现在这样的师...
新房楼顶有裂缝正常吗 不正常,屋顶墙体之间出现伸缩缝,造成乳胶漆墙面产生裂纹,可以先铲除墙面基层,将裂缝清洗干净后,再往裂...
纸尿裤事件经历反转再反转,国家... 极目新闻评论员 屈旌一纸检测报道,牵动万千父母的心;两轮舆论反转,让一场婴幼儿用品安全事件变成罗生门...
原创 传... 6月20日消息,据科技媒体FundaAI报道,英特尔已与中国台湾第二大晶圆代工厂联华电子(UMC,简...
小米最高端旗舰!MIX Fol... 据博主数码闲聊站透露,小米一款型号为2608BPX34C的全新机型正式通过工信部入网认证,这款产品预...
父亲节礼物指南:千元大爆品,全... 六月是充满温情的月份,端午节与父亲节接踵而至,加之618大促的余热未消,正是为父母更换新手机的绝佳时...