python循环语句(while、for)

╰+哭是因爲堅強的太久メ 2022-05-17 09:54 465阅读 0赞

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

# python2:

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

70
# python3:

  1. - range(5) 相当与python2里面的xrange;

70 1

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

    参数含义:

    1. start:计数的开始位置,默认是从0开始。
    2. end: 计数的结束位置
    3. step:每次跳跃的间距,默认为1
  • 2 range()函数内只有一个参数,则表示会产生从0开始计数到输入参数(前一位整数)结束的整数列表
  • range(stop): 0~stop-1
  • 70 2
  • 3 当range()函数传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:
  • range(start, stop): start~stop-1
  • 70 3
  • 4 当range()函数内填入第三个参数时,第三个参数表示递增或递减值,默认为0;
  • range(start, stop, step): start~stop-1, step

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

  1. ![70 4][]

1.for循环语句

1.for循环使用的语法:

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

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

2.示例:

1.用于求和:

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

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

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

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

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

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

70 5

2.用户登陆程序需求:

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

for i in range(3):
name = input(“用户名:”)
passwd = input(“密码:”)
if name == ‘root’ and passwd == ‘westos’:
print(“登陆成功”)
break
else:
print(“登陆失败”)
print(“您还剩余%d次机会” %(2-i))
else:

print(“登陆次数超过三次, 请等待100s后再次登陆”)

70 6

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=2
if 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))

70 7

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

70 8

  1. 猜数字游戏
    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”)

70 9

2.while循环语句

1..while循环使用的语法:

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

2.while死循环

1)while True:
pass

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

3.示例:

1.求1+2+3+…+100的和

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

70 10

2.猜数字游戏

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

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

70 11

3.用户登陆程序需求:

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

trycount = 0

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

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

70 12

发表评论

表情:
评论列表 (有 0 条评论,465人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python学习】python循环语句

    > 中国史之【鲧禹治水】: > 中国古代的神话传说故事。三皇五帝时期,黄河泛滥,鲧(gun)、禹父子二人受命于尧、舜二帝,任崇伯和夏伯,负责治水。大禹置个人利益于不顾,“三