python流程控制(if,while ,for)

if判断

单分支

gender = 'female'
age = 19
is_beaytifl = True

if gender == 'female' and 18 <age < 26 and is_beatiful:
  print('XXXXXXXX')

双分支

inp_user = input('请输入用户名:')
inp_pwd = input('请输入密码:')

if inp_user == 'egon' and inp_pwd == '123':
  print ('登录成功')
else:
  print('登录失败')

多分支

'''
需求:
如果:成绩>=90,那么:优秀

如果成绩>=80且<90,那么:良好

如果成绩>=70且<80,那么:普通

其他情况:很差
'''
score = input('请输入成绩:')
score = int(score)
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('普通')
else:
    print('很差')


while循环

# 一 基本用法示例
print('start...')
i = 1
while i <= 5:
    print(i)
    i += 1

print('end...')
 

# 二 死循环:永不结束的循环
while True:
    print(1)

while True:  # IO
    name = input(">> ")
    print(name)

结束循环的两个条件

方式一:把条件改为False

print (start...)
i = 1 

tag = Ture
while tag:
  if i == 5:
    tag = False
   print (i)
  i += 1
  

方式二:break终止本层循环,会立即结束while循环,不会进行下一次循环

print ('start...')
i = 1
tag = True
while tag:
  if i == 5:
      break
  print (i)
  i += 1

案例:

# 方式一:
tag = True
while tag:
    inp_user = input("请输入您的用户名:")
    inp_pwd = input("请输入您的密码:")

    if inp_user == "egon" and inp_pwd == "123":
        print("登录成功")
        tag = False
    else:
        print("登录失败")

    print('other........................')

# 方式二
while True:
    inp_user = input("请输入您的用户名:")
    inp_pwd = input("请输入您的密码:")

    if inp_user == "egon" and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("登录失败")

    print('other........................')


# 案例2:
# i = 0
#
while True:
    inp_user = input("请输入您的用户名:")
    inp_pwd = input("请输入您的密码:")

    if inp_user == "egon" and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("登录失败")
        i += 1

    # print(i)
    if i == 3:
        print("尝试次数超过了3次,结束")
        break


# 补充
# while True:
#     while True:
#         while True:
#             break
#         break
#     break


# tag = True
# while tag:
#     while tag:
#         while tag:
#             tag = False

# 四 while+continue: continue终止本次直接进入下一次
i = 1
while i <= 5:
    if i == 3:
        i += 1
        continue
    print(i)
    i += 1
#
# 强调:
# 1、不要在continue后加与continue同级的代码,加了就永远运行不了了
# 2、循环体代码的最后一步不要写continue
i = 1
while i <= 5:
    i += 1

    if i > 3:
        continue
    else:
        print('ok')


while True:
    inp_user = input("请输入您的用户名:")
    inp_pwd = input("请输入您的密码:")

    if inp_user == "egon" and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("登录失败")
        continue  # 画蛇添足


# 五:while+else
# else的子代码何时运行:
#    while循环结束后并且是在正常情况下结束的,else的子代码块才会运行
#    ps:只要不是被break干掉的循环,都是正常结束的
i = 0
while i <= 10:
    if i == 5:
        break
    print(i)
    i += 1
else:
    print("==============")

for循环

for循环遍历值,循环的次数,取决于值的个数

nums = [11,22,33,44,55]
i = 0 
while i < len(nums):
  print(nums[i])
  i += 1
  
 使用for循环

for num in muns:
  print(num)
  
 #字典取值 
 dic = {'k1':11,'k2':22,'k3':33}
	for k in dic:
	print(k,dic[k])
  
  #列表取值
  l = [['name', 'cc'], ['age', 20], ['gerder', 'famale']]
	for x, y in l:
    print(x, y)
 
# 二 for+break
nums = [111, 111222, 333, 444, 555]
for num in nums:
    if num == 333:
        break
    print(num)
    
  
# 三 for+continue
nums = [111, 222, 333, 444, 555]
for num in nums:
    if num == 333:
        continue
    print(num)
    
# 四 for+else
nums = [111, 222, 333, 444, 555]
for num in nums:
    if num == 333:
        # break
        continue
    print(num)
else:
    print('======')
    
    
# 五
# 让某段代码重复运行3次-》while循环实现如下
i = 0
while i < 3:
    print('hello1')
    print('hello2')
    print('hello3')
    i += 1


# 让某段代码重复运行3次-》for循环实现如下
for x in range(3):
    print('hello1')
    print('hello2')
    print('hello3')


for x in range(100000000000000000000000000000000000000000):
    print(x)

nums = [111, 222, 333, 444, 555]

i = 0
while i < len(nums):
    print(i,nums[i])
    i += 1
# for i,num in enumerate(nums):
#     print(i,num)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值