Python学习(九)之 for循环语句、while循环语句

本文介绍了Python中的循环语句,包括for循环用于遍历序列,while循环实现条件判断,循环嵌套以及简单语句组的使用。此外,还详细讲解了range()函数,并给出了多个实例,如用户登录程序、和、奇数和、偶数和的计算,阶乘、最大公约数和最小公倍数的求解,以及用while嵌套实现的九九乘法表等。
部署运行你感兴趣的模型镜像

一、循环语句

  • 循环语句可以帮助我们计算成千上万次的重复运算。迭代输出序列时(如:列表)使用 for 比 while 更好

1、 for 循环

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

 for  变量  in  list或tuple中的元素 :
            循环需要执行的代码
 else:
           全部循环结束后要执行的代码

2、while循环

while  条件满足:
    语句1...
else:
    循环完成后 要执行的语句

while死循环:通过设置条件表达式永远不为 false 来实现无限循环,无限循环你可以使用 CTRL+C 来中断循环。
在这里插入图片描述

3、循环嵌套

  • Python允许在一个循环中使用另一个循环,这就是嵌套,且可以将任何类型的循环放在任何其它类型的循环中。

4、简单语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中。

a = 1
while (a): print ('欢迎 !') 
print ("Good bye!")

二、 range()函数

range(stop)    #0~stop-1
range(start,stop)  #start~stop-1
range(start,stop,step) #step:为步长

在这里插入图片描述

在这里插入图片描述

三、例子

1、用户登录程序

在这里插入图片描述

(1)for 循环实现


for i in range(3):
    name = input('用户名:')
    passwd = input('密码:')
    if name == 'root' and passwd == 'redhat':
        print('登录成功')
        break
    else:
        print(f'密码或用户名错误,还有{2-i}机会')
else:
    print('Error!!')

在这里插入图片描述

(2)while循环实现

i = 0
while i < 3:
    name = input('用户名:')
    passwd = input('密码:')
    if name == 'root' and passwd == 'redhat':
        print('登录成功')
        break
    else:
        print(f'密码或用户名错误,还有{2 - i}机会')
        i += 1
else:
    print('Error')

在这里u插入图片描述

2、 range()与 for循环实现:和、奇数和、偶数和

# 1~100的和 5050
sum = 0
for i in range(1,101):
    sum += i
print(f'1~100的和为{sum}')

#1~100的奇数和 2500
sum = 0
for i in range(1,101):
    if not i % 2 == 0:
        sum += i
print(sum)

#1~100偶数和 2550
sum = 0
for i in range(2,101,2):
    sum += i
print(sum)

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

在这里插入图片描述

3、for循环:阶乘

在这里插入图片描述

#阶乘
num = int(input())
sum = 1
for i in range(1,num+1):
    sum *= i
print(f'{num}!的值为{sum}')

在这里插入图片描述

4、for循环:两个数的最大公约数和最小公倍数

在这里插入图片描述

#两数字的最大公约数和最小公倍数
nums = input('请输入2数字,例:1 2:').split(' ')
num1 = int(nums[0])
num2 = int(nums[-1])

min_num = min(num1,num2) #min()可以提取最小值

#最大公约数:两个数字都可以被这个数整除,例如: 12和16最大公约数为4
for i in range(1,min_num+1):
    if num1 % i == 0 and num2 % i == 0:
        gys = i

#最小公倍数:两数之积除以最大公约数
lcm = int((num2 * num1)/gys)

print(f'{num1}和{num2}的最大公约数{gys}')
print(f'{num1}和{num2}的最小公倍数{lcm}')

在这里插入图片描述

5、for循环:命令行提示符的实现

在这里插入图片描述

6、while嵌套:实现九九乘法表

方法一:

i = 1
while i < 10:
    j = 1
    while j <= i:
        print(f'{j}*{i}={i*j}',end=" ")
        j += 1
    print()
    i += 1
print()

在这里插入图片描述
方法二:
在这里插入图片描述
方法三:

def gen(line_cnt):
    for i in range(1,line_cnt+1):
        for j in range(1,i+1):
            m=i*j
            print('%s*%s=%s\t' %(i,j,m),end='')
        print('')
if __name__== '__main__':
    gen(9)

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值