Pyton学习—循环语句-创新互联
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('输入错误次数达到三次,请稍后重试!')
程序测试执行:
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)
程序测试执行:
(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))
程序测试执行:
(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 ')
程序测试执行:
(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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:Pyton学习—循环语句-创新互联
文章URL:http://scjbc.cn/article/ddjdcc.html