三大流程及循环

 

1.三大流程的提出

  由冯诺依曼提出(提出计算机有五大部分组成的人),被称为现代电子计算机之父,计算机界的祖师。所有的编辑语言都要遵循此三大流程,冯诺依曼获得了第一届图灵奖(计算机界的诺贝尔奖)。

2.分支结构

  分支结构分为单分支:语句遇到什么情况就做什么事。if    条件(关系运算符或逻辑运算符,最后得到一个布尔值)

 

 

 

 

单分支的问题是:只能输出一个答案。不能进行AB选项。这时需要进行多分支。

if 条件:

  #条件满足执行的代码

else:

  #条件不满足执行的代码

 

 

 

 

多分支(三分支):

if 条件1:

  #执行符号条件一的代码;

elif 条件2:

  #执行符合条件2的代码

以此类推到条件n

else:(前面所有的条件都不满足的情况)

  #则执行这里

 

 

Python  while循环
1、while 循环简介

for 循环用于针对集合中的每个元素都一个代码块,而while循环不断的运行,直到指定的条件不满足为止。

1.1、使用while 循环:


循环从1数到5:
number = 1  # 指定从1开始数
while number <= 5:  # 只要number小于或等于5 就接着运行这个循环
    print(number)  # 打印循环的值
    number += 1  # 再给number值 + 1
                 # 由此类推, 一旦number大于5,循环就停止,整个程序也将到此结束
# 输出结果如下:
1
2
3
4
5
1234567891011


1.2、使用break退出循环:


要立即退出while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break 语句
while True:   # while True 打头的循环 将不断运行, 知道遇到break 语句
    city = input('输入您再的城市:')  # 再输入中,如果输入1 就执行到 break 语句就会退出

    if city == 1:
        break
    else:
        print('我喜欢去{}'.format(city))
1234567

注意:  在任何Python循环中都可使用break 语句。例如,可使用break 语句来退出遍历列表或字典的for 循环。

1.3、再循环中使用 continue:


要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue 语句,它不像break 语句那样不再执行余下的代码并退出整个循环。
number = 0  # 先将number 设置为0 ,
while number < 10:  # 由于小于10 python 进行while循环
    number += 1      # 进入循环后以步长1的方式往上数
    if number % 2 == 0:  # if 语句检查 number 与 2的求模运算结果, 如果结果为0就意味的number可以被2整出, 就执行continue 语句, 让Python忽略余下代码,并返回到循环的开头
        continue
    print(number)
# 输出结果:
1
3
5
7
9
123456789101112


continue语句是一个删除的效果
var = 10
while var > 0:
    var = var - 1
    if var == 5 or var == 8:
        continue
    print('当前值:', var)
print('Bye')
1234567


总结:

continue 语句用来告诉Python 跳过当前循环的剩余语句, 然后继续进行下一轮循环continue 语句用在while和 for 循环中

Python continue 语句跳出本次循环, 而break跳出整个循环


1.4、避免无限循环:


每个while 循环都必须有停止运行的途径,这样才不会没完没了地执行下去
x = 1
while x <= 5:
    print(x)
    x += 1
# 输出结果如下:
1
2
3
4
5
12345678910

如果不是想确定无限循环的话,必须有一个条件来终结这个循环。能够让循环条件为False或break语句结束无限循环。

2、使用while循环来处理列表和字典:

for 循环是一种遍历列表的有效方式,但在for 循环中不应修改列表,否则将导致Python难以跟踪其中的元素。
要在遍历列表的同时对其进行修改,可使用while 循环。

通过将while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

2.1、在列表之间移动元素:


有一个列表里面有元素,  怎么才可以把他里面的这些元素添加到另一个空列表中?
my_list = ['alice', 'brian', 'candace']
new_list = []
while my_list:
    cur_list = my_list.pop()  # 使用pop()方法的时候, 从my_list列表中, 从末尾的元素删除,pop()删除的值可以赋值给变量cur_list, 依次赋值给cur_list

    new_list.append(cur_list) # 将变量添加到new_list中
 
for item in new_list:  # 循环new_list 里面就会有跟my_list 相同的元素
    print(item) 
# 输出结果如下:
candace
brian
alice
12345678910111213


2.2、删除包含特定值的所有列表元素:


使用remove()来删除列表中的特定值,之所以用它,因为要删除的值再列表中只出现了一次。


如果要删除列表中所有包含特定值的元素,该怎么办?
my_list = ['cat', 'dog', 'cat', 'goldfish', 'rabbit', 'cat']  # 列表中多个包含'cat'
while 'cat' in my_list:  # 循环
    my_list.remove('cat')
print(my_list)
 

for循环
for i in range(10):
求阶乘
#输出
a = int(input('请输入一个值:'))
#阶乘控制单位
total = 1
#求阶乘
for i in range(1,a+1,1): ##起始值为1,终止符为a+1,间隔为1求阶乘
    total *= i
print(total)
12345678
练习求1,2,3,4四个数字可以组成多少个不同的且不重复的三位数字
"""
file:求1,2,3,4四个数可以组成多少个不重复且不相同的三位数字并打印
date:2019-6-23 09:46
description:
"""
#不相同数字的数目
num = 0
#对三位数字取值
for g in range(1,5,1):
    for s in range(1,5,1):
        for b in range(1, 5, 1):
#判断三个数字是否有相同数字,若没有则打印且num自加1
            if(g != s and g != b and b != s ):
                print('%d%d%d' %(b,s,g))
                num += 1
#输出有多少个不重复数字
print('共%d个不重复且不相同的数字' %(num))
1234567891011121314151617
在这里插入代码片
1
跳出循环
break:跳出循环
continue:continue后的程序不执行,但后续循化会继续执行
exit:终止程序运行(exit为函数)
for循环实现用户登录
"""
1.输入用户和密码
2.判断是否正确(name = 'root',passwd = 'westos')
3.登陆仅有三次机会,超过三次则报错

for循环实现用户登录
"""
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('失败超过三次,请稍后再试')
12345678910111213141516171819
简单实现shell命令
import os
for i in range(1000):
    cmd = input('[root@python ~]')
    if cmd:
        if cmd == 'exit':
            print('logout')
        else:
            os.system(cmd)
    else:
        continue
12345678910
求最大公约数与最小公倍数
a = int(input('输入第一个数:'))
b = int(input('输入第二个数:'))
small = min(a,b)
big = max(a,b)
sum = 1
for i in range(1,small+1):
    if (a % i == 0) and (b % i == 0):
        sum = 1 * i
    continue

print('最大公约数为:%d' %(sum))
print('最小公倍数为%d' %(a*b/sum))
123456789101112
while
while 条件:
条件满足时,做的事情
条件满足时,做的事情

eg:
#1.定义计数器
i = 0
#2.条件判断
while i < 3:
    #3.处理计数器
    i = i + 1
    print("%d" %(i))
12345678
while实现for循环编辑的简易用户登录
i = 0
while i <= 2:
    name = input('用户名:')
    passwd = input('密码:')
    if ((name == 'root') and (passwd == 'westos')):
        print('登陆成功')
        break
    else:
        print('登陆失败')
        print('您还有%d次机会' %(2-i))
        i = i + 1
else:
    print('失败超过三次,请稍后再试')
12345678910111213
while打印四种直角三角形
第一行输出1颗星,每行依次加一颗星,直至第六行
第一种
  row = 1

while row <= 6:
    col = 1
    while col <= row:
        print('*',end='')
        col += 1
    print('')
    row += 1
123456789

第二种
倒序输出上题条件
row = 1

while row <= 6:
    col = 6
    while col >= row:
        print('*',end='')
        col -= 1
    print('')
    row += 1
123456789

 

打印乘法口诀表
num = 1
while num <= 9:
    col = 1
    while col <= row:
        print('%d * %d = %d ' %(col,num,col*num),end='')
        col += 1
    print('')
    num += 1
12345678
猜数字游戏
1.电脑随即输入1~30中的某个数字
2.玩家输入数字若正确则输出“congratulation”
3.若数字太大则提示“大了“
4.若数字太小则提示“小了”
5.共有五次机会
import random
num = 0
c = int(random.randint(1, 30))
while True and num <=4 :
    print('您还有%d次机会' % (5 - num))
    i = int(input('请输入数字:'))
    if i == c:
        print('congratulation')
        break
    elif i > c:
        print('大了')
        num += 1
    else:
        print('小了')
        num += 1
if num == 5:
    print('数字为%d,你猜错啦' %(c))
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值