python中的逻辑判断,流程控制语句

python中的逻辑判断,流程控制语句

if语句

用于条件的判断

(1)
if 待判断的条件:
    条件成立,执行的命令
else:
    条件不成立,执行的命令

(2)
if 待判断的条件:
    条件成立,执行的命令
elif 待判断的分支条件:
	分支条件成立,执行的命令
    ...
else:
    以上条件均不成立,执行的命令

在这里插入图片描述
在这里插入图片描述

简单的应用示例:
模拟剪刀,拳头,布游戏

import random  #导入模块

# 1.从控制台输入要出的拳 ---石头(1)/剪刀(2)/布(3)
player = int(input('请输入你要出的拳头:---石头(1)/剪刀(2)/布(3):'))
# 2.电脑随机出拳
computer = random.randint(1,3)
print('玩家:%d,电脑:%d' %(player,computer))

if ((player ==1 and computer == 2) or
        (player == 2 and computer == 3) or
        (player == 3 and computer == 1)):
    print('玩家胜利~~~')
elif player == computer:
    print('平局~~~')
else:
    print('玩家输了~~')

其中,上面的 random.randint( )模块方法用于产生随机数,能产生范围内的随机int整型值

在这里插入图片描述

for语句

用于语句块的循环执行

for 变量 in range(10):   #变量范围0~9,循环依次执行10次
    循环执行的代码
else:
    全部循环结束后要执行的代码
    (若循环被打断退出,则不执行该代码)

python中的for语句,不同于C语言中的for语句;其for语句也可以有else

其中,range( )为内置的python函数,用于产生序列
range(0,3) 可以产生序列,0,1,2。即这是一个左闭右开的区间范围
range(0,3) == range(3) 这二者是等价的

使用range( ),还可以设定步长
range(start,stop,step) step为步长
如:
range(1,11,2) 筛选10以内的奇数
range(0,11,2) 筛选10以内的偶数

range(0) 返回空 == range(0,0)
range(1)才返回[0] == range(0,1)

在这里插入图片描述

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

for i in range(3): #0 1 2
    name = input('用户名:')
    passwd = input('密码:')
    if name == 'root' and passwd == 'westos':
        print('登陆成功')
        # 跳出整个循环,不会再执行后面的内容
        break
    else:
        print('登陆失败')
        print('您还剩余%d次机会' %(2-i))
else:
    print('登陆次数超过三次,请等待100s后再次尝试登陆')


break:跳出整个循环 不会再执行循环体内部的内容,顺序执行循环外,后面的代码
continue:跳出本次循环,continue后面的循环代码不会执行,直接进入下一次循环
exit():结束程序的运行

for i in range(10):  # 0~9
    if i == 5:
        #break
        #continue
        exit()
    print(i)
print('hello')

在这里插入图片描述

while语句

while 循环判断条件:   #在每一次循环开始前判断循环条件是否成立
    条件满足 执行语句
else:
    循环完成后 要执行的语句
    (与for语句的else功能相同)

#求100以内整数的和    
sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(sum)

死循环(循环条件一直成立)
while True:
    print('!!!')

while 2>1:
    print('!!!')

但是不要执行上面的两个程序,会一直输出,执行后要尽快终止程序

在这里插入图片描述

简单应用示例:
通过while语句的嵌套,打印九九乘法表

row = 1
while row <= 9:
    col = 1
    while col <= row:
        print('%d * %d = %d\t' %(row,col,row*col),end='')  #让下一次的print输出内容不换行
        col += 1
    print('')    # 手动换行
    row += 1

\t:制表符,协助我们在输出文本的时候在垂直方向保持对齐
\n:换行符

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值