当前位置:首页 > Python教程 > python技巧

Python之条件、循环语句

1、条件语句

            #
            语法:
            if <条件判断1>:
    <执行1> 
elif <条件判断2>:
    <执行2> 
elif <条件判断3>:
    <执行3> 
else:
    <执行4>

if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,把该判断对应的语句执行后,就忽略掉剩下的 elif 和 else

当 if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

            逻辑运算符:
            
True、False

            or、
            andnot
            例:if (num >= 0 and num <= 5) or (num >= 10 and num <= 15)
==、>、<、>=、<=、!=、<>

2、循环语句

for 循环

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

            语法1:
        
            for
             条件
    <执行>
            
            语法2:
            for
             条件
    <执行>
else
    <执行>
‘‘‘
for 中的语句和普通的没有区别
else 中的语句会在循环正常执行完
(即 for 不是通过 break 跳出而中断的)的情况下执行
while … else 也是一样。
‘‘‘

例子:

            #
             例1
            for letter inPython:  # 第一个实例print(当前字母 :, letter)

fruits = [banana, apple, mango]
for fruit in fruits:  # 第二个实例print(当前水果 :, fruit)

‘‘‘
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
当前水果 : banana
当前水果 : apple
当前水果 : mango
‘‘‘# 例2
_user = hjc
_pass = 123for i in range(4):
    username = input("username:")
    password = input("password:")
    if username == _user and password == _pass:
        print("welcome...", username)
        breakelse:
        print("invalid username or password")
else:  # 只要上面的 for 循环执行完毕,才执行 else 下的内容print("too many times retries")

# 例3
fruits = [banana, apple, mango]
for index in range(len(fruits)):
    print(当前水果 :, fruits[index])



# 例4for num in range(1, 6):
    print(num)
else:
    print(done)
‘‘‘
1
2
3
4
5
done
‘‘‘

while 循环

            语法1:只要条件满足,就不断循环,条件不满足时退出循环。

            while
             判断条件:
    执行语句。。。
        
            
语法2:只要条件满足,就不断循环,条件不满足时执行 
            else
            : 下的语句。

            while
             判断条件:
    执行语句。。。

            else
            :
    执行语句。。。
        
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
# 在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

3、循环控制语句

break

表示跳出循环的层数,如果省略n表示跳出整个循环

            例1:
        
            for letter inPython:
    # First Exampleif letter == h:
        breakprint(Current Letter :, letter)
# Current Letter : h
            
                
            
                
            例2:
var = 10  
            while var > 0:
    print(Current variable value :, var)
    var = var - 1
    if var == 5:
        break‘‘‘
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
‘‘‘

continue

表示退到第n层继续循环,如果省略n表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环

            #
             第一个实例
            for letter inPython:  
    if letter == h:
        continueprint(当前字母 :, letter)

‘‘‘
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
‘‘‘# 第二个实例
var = 10  
while var > 0:
    var = var - 1
    if var == 5:
        continueprint(当前变量值 :, var)
‘‘‘
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
‘‘‘

pass

不做任何事情,只起到占位的作用

            for letter inPython:
    if letter == h:
        passprint(这是 pass 块)
    print(当前字母 :, letter)

‘‘‘
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
‘‘‘


4、条件语句练习

题1:

            #
             提示输入用户名和密码
            
#
             验证用户名和密码
            
#
             如果错误,则输出用户名或密码错误
            
#
             如果成功,则输出 欢迎,XXX!
            import
             getpass
name = input(请输入用户名:)
pwd = getpass.getpass(请输入密码:)
if name == "alex"and pwd == "cmd":
    print("欢迎,alex!")
else:
    print("用户名和密码错误")

题2:

            #
             根据用户输入内容打印其权限
            
#
             alex --> 超级管理员
            
#
             eric --> 普通管理员
            
#
             tony,rain --> 业务主管
            
#
             其他 --> 普通用户
name = input(请输入用户名:)
if name == "alex":
    print("超级管理员")
elif name == "eric":
    print("普通管理员")
elif name == "tony"or name == "rain":
    print("业务主管")
else:
    print("普通用户")

题3:

            #
             猜年龄
age_of_princal = 56
guess_age = input("your input:")
if guess_age.isdigit():
    guess_age = int(guess_age)
    if guess_age == age_of_princal:
        print("yes")
    elif guess_age > age_of_princal:
        print("you input is large")
    else:
        print("you input is smaller")
else:
    print("you input is no num")

5、循环语句练习

a.使用while循环实现辅出2-3+4-5+6…+100的和
count = 1
s = 0
while count <= 10:
    if count % 2 == 0:
        s += count
    else:
        s -= count
    count += 1
print(s)



b.使用while循环实现输出1,2,3,4,5,7,8,9,11,12
count = 1
while count <= 10:
    if count == 6 or count == 10:
        passelse:
        print(count)
    count += 1



c.使用while循环输出10-5,从大到小,如10,9,8…,到5时再从0循环输出到5然后结束
count = 10
while count >= 5:
    print(count)
    count -= 1
    if count == 4:
        count1 = 0
        while count1 <= 5:
            print(count1)
            count1 += 1


d.使用while循环实现输出1-100内的所有奇数
e.使用while循环实现输出1-100内的所有偶数

count = 10
while count <= 10:
    if count % 2 != 0:
        print(count)
    count += 1

原文:https://www.cnblogs.com/tootooman/p/8963996.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!