python循环语句(while、for)

数据大师
数据大师
数据大师
294
文章
0
评论
2021-08-1709:32:48 评论 902 2990字
摘要

本文将详细介绍Python中的循环语句

 

一、range函数

 

在介绍python循环语句之前,这里需要先给大家介绍下range函数

# python2:- range(5): 即刻生成数据, 消耗时间并占用内存;- xrange(5): 先生成一个xrange对象, 使用值时才生成数据, 占用内存;

# python3:- range(5) 相当与python2里面的xrange;

1 range函数原型:range(start, end, step)

参数含义:

start:计数的开始位置,默认是从0开始。

end: 计数的结束位置

step:每次跳跃的间距,默认为1。

2 range()函数内只有一个参数,则表示会产生从0开始计数到输入参数(前一位整数)结束的整数列表

range(stop): 0~stop-1

3 当range()函数传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:

range(start, stop): start~stop-1

4 当range()函数内填入第三个参数时,第三个参数表示递增或递减值,默认为0;

 

range(start, stop, step): start~stop-1, step

现打印一个从0开始到20结束,逐步递增4的列表,和一个以20开始到0结束,逐步递减4的列表

range(0,20,4)

 

二、for循环语句

1.for循环使用的语法:for 变量 in range(10):(参数自己根据需要选择)循环需要执行的代码

for 变量 in range(10):循环需要执行的代码else:循环执行结束执行的代码

2.示例:1.用于求和:

1)求1~100之间所有奇数的和

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

2)求1~100之间所有偶数的和

sum = 0for i in range(2,101,2):sum=sum+iprint(sum)

3)用户输入一个整形数, 求该数的阶乘

i=int(input("输入一个数:"))j=1for n in range(1,i+1):j=j*nprint(j)

2.用户登陆程序需求:1. 输入用户名和密码;2. 判断用户名和密码是否正确? (name="root", passwd="westos")3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示;

for i in range(3):name = input("用户名:")passwd = input("密码:")if name == "root" and passwd == "westos":print("登陆成功")breakelse:print("登陆失败")print("您还剩余%d次机会" %(2-i))else:print("登陆次数超过三次, 请等待100s后再次登陆")

3.输入两个数值,求两个数的最大公约数和最小公倍数.

"""最小公倍数=(num1*num2)/最大公约数"""

# 2,3# 2,6

# 1. 输入两个数值: input接收的是字符串类型num1 = int(input("Num1:"))num2 = int(input("Num2:"))# 2. 找出两个数中的最小值# min_num = min(num1, num2)min_num = num1 if num1<num2 else num2# 3. 最大公约数的范围在1~min_num之间;最大公约数就是num1和num2能整除的最大的数;for i in range(1,min_num+1): # 1, 2# 2%1==0 ; 3%1==0 gys=1# 2%2==0 6%2==0 gys=2if num1 % i == 0 and num2 % i == 0:# 当循环结束, gys中保存的是最大的约数;gys = i# 4. 最小公倍数lcm = int((num1*num2)/gys)

print("%s和%s的最大公约数为%s" %(num1, num2, gys))print("%s和%s的最小公倍数为%s" %(num1, num2, lcm))

注:其实这里python有内置函数可以求公约数

4. 猜数字游戏 1. 系统随机生成一个1~100的数字;** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);2. 用户总共有5次猜数字的机会;3. 如果用户猜测的数字大于系统给出的数字,打印"too big";4. 如果用户猜测的数字小于系统给出的数字,打印"too small";5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环

import random

num = random.randint(1,100)

print(num)for i in range(1,6):guess = int(input("plese guess:"))if guess > num :print("too big")elif guess < num :print("too small")else :print("congratulation!!!")exit()else:print("game over")

 

三、while循环语句

1..while循环使用的语法:while 条件语句:满足条件执行的语句else:不满足条件执行的语句

2.while死循环

1)while True:pass

2)while 1: # bool(1)pass3)while 2>1:pass

3.示例:1.求1+2+3+...+100的和

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

2.猜数字游戏 1. 系统随机生成一个1~100的数字;** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);2. 用户总共有5次猜数字的机会;3. 如果用户猜测的数字大于系统给出的数字,打印"too big";4. 如果用户猜测的数字小于系统给出的数字,打印"too small";5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环.

import randomx = random.randint(1,100)#print(x)trycount = 0while trycount < 5:tk = int(input("你猜:"))if tk == x:print("恭喜中奖100万")breakelif tk < x:print("too small")trycount += 1else:print("too big")trycount += 1else:print("没有机会")

3.用户登陆程序需求:1. 输入用户名和密码;2. 判断用户名和密码是否正确? (name="root", passwd="westos")3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示;

trycount = 0

while trycount<=2:name = input("用户名:")passwd = input("密码:")

if name == "westos" and passwd == "redhat":print("登陆成功")exit()else: trycount+=1print("请重新登陆")else:print("登陆超过三次")

 

 

End.

作者:forever_wen

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: