2018-09-27循环语句

2018-10-06  本文已影响0人  未来_9070

程序三大流程

python提供了for和while循环

循环类型 描述
while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体
for 循环 重复执行语句
嵌套循环 你可以在while循环体中嵌套for循环

while循环

流程图
image.png
语句

同样需要注意冒号和缩进

        定义初始值
        while 布尔表达式:

            循环执行体

            迭代语句
输出1~100数字
#输出1~100
i=1#定义i的初始值
while i <= 100:#判断条件
    print(i)
    i+=1#叠加i
求1~100的和
'''
需求分析:
    1.声明一个变量 存放和
    2.找出1到100之间的数字
    3.完成叠加
    4.输出结果

程序的运行过程:

    sum=0
    a=1

    循环第一次:
        a=1
        sum=0+1
    循环第二次:
        a=2
        sum=0+1+2
    循环第三次:
        a=3
        sum=0+1+2+3
    循环第四次:
        a=4
        sum=0+1+2+3+4
    ...
    循环第九十九次:
        a=99
        sum=0+1+2+3+4+...+99
    
    循环第一百次:
        a=100
        sum=0+1+2+3+4+...+99+100
'''

#1~100的总和
sum=0#声明变量存放和
a=1#定义i的初始值
while a <= 100:#判断条件,找出1到100之间所有的数字
     sum=sum+a#完成叠加
     a+=1
print("1到100的总和:%s"%sum)
无限循环
#我们可以通过设置条件表达式永远不为 false 来实现无限循环
var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)
 
print ("Good bye!")
while 和 if 结合使用
"""
需求:
    计算1到100之间偶数的和
    偶数:能被2整除的数

需求分析:
    1.声明变量 存放和

    2.找出1到100之间所有的数字

    3.判断是否是偶数

    4.偶数完成叠加

    5.输出结果

程序的运行过程:

    sum=0
    a=1

    循环第一次:
        a=1

    循环第二次:
        a=2
        sum=0+2

    循环第三次:
        a=3

    循环第四次:
        a=4
        sum=0+2+4


"""

#声明变量 存和
sum=0

#找出1到100之间所有的数字
a=1
while a<=100:
    
    #判断是否是偶数
    if a%2==0:
        #完成叠加
        sum=sum+a

    a+=1
#输出结果
print("1到100之间偶数的和是:%s"%sum)

while 和 while 结合

"""

    需求:输出九九乘法表

    需求分析:

    外层循环控制行  9
    
    内层循环控制每行的列数  内层循环会随着外层循环的增多而增多


程序的运行过程:

    x=1
    外层循环第一次:
        x=1
        y=1
        内层循环:
            输出内容:1*1=1  

    外层循环第二次:
        x=2
        y=1
        内层循环:
            输出内容:2*1=2  2*2=4   
    外层循环第三次:
        x=3
        y=1
        内层循环:
            输出内容:3*1=3  3*2=6   3*3=9   
    
    ...
"""

#外层循环控制行
x=1
while x<=9:
    #内层循环 控制每行的列数
    y=1
    while y<=x:
        print("%s*%s=%s \t"%(x,y,x*y),end="")
        y+=1
        
    #换行
    print()
    x+=1
while 和 break(break要结合if)

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

var = 10                    
while var > 0:              
   print ('当期变量值为 :', var)
   var = var -1
   if var == 5:
      break
print ("Good bye!")
while 和 continue(continue也是和if结合)

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

var = 10                    # 第二个实例
while var > 0:              
   var = var -1
   if var == 5:             # 变量为 5 时跳过输出
      continue
   print ('当前变量值 :', var)
print ("Good bye!")


for循环

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

遍历列表
languages = ["C", "C++", "Perl", "Python"]
for a in languages:
   print(a)
for 和 break
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鸟教程!")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")
range()函数

如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列

for i in range(5):
    print(i)
for i in range(5,9):
    print(i)
for i in range(5,17,3):
    print(i)
for 和 for
for n in range(2, 40):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
for 和 break
for letter in 'Runoob':     
   if letter == 'b':
      break
   print ('当前字母为 :', letter)
for 和 continue
for letter in 'Runoob':     
   if letter == 'o':        # 字母为 o 时跳过输出
      continue
   print ('当前字母 :', letter)

while 、for 练习题

求1~100的偶数
for i in range(0,101,2):
    print(i,end="\t")
i=0
while i<=100:
    if i%2==0:
        print(i,end="\t")
    i+=1
输出10行10列的
for i in range(1,11):
    for j in range(1,11):
        print("*",end="")
    print()#换行
i=1
while i<=10:
    p=1
    while p<=10:
        print("*",end="")
        p+=1  
    i+=1
    print()
*输出直角三角形
for i  in  range(1,7):
    #print(i)
    for j in range(1,i):
        print("*",end="")
    print()
i=1
while i<7:
    p=0
    while p<i:
        print("*",end="")
        p+=1  
    print()
    i+=1
九九乘法表
for i in range(1,10):
    for j in  range(1,i):
        print("%s*%s=%s"%(j,i,j*i),end=" ")
    print()#换行
学生管理简易系统
print(" ========================================")
print(" 欢迎进入学员管理系统")
print("a.注册")
print("b.登录")
print("c.退出")
print("d.修改密码")
print(" ========================================")

#超级账号
new_user = "Mr Hu"#超级管理员,胡老师
new_password = "so cool"
while True:
    # 判断你的选项
    choose = input("请输入您的选项a b c d:")


    # 选项a
    if choose == "a":
        print("欢迎进入注册界面")
        new_user = input("输入注册账号:")
        #global new_user
        new_password = input("输入注册密码:")
        #global new_password
        print("注册成功")


    # 选项b
    elif choose == "b":
        print("进入登录界面")
        user = input("输入账号:")
        password = input("输入密码:")
        if (user == new_user and password == new_password) or (user == "Mr Hu" and password == "so cool"):
            print("登陆成功")
        else:
            print("输入有误")  # 存在bag,不知道密码还是账号有误,而且退出有问题。

    #选项c
    elif choose == "c":
        print("再见,欢迎下次进入。")
        break

    #选项d
    elif choose == "d":
        print("进入修改密码界面")
        new_password = input("请输入您要修改的密码:")
        print("修改成功")

    #其他情况
    else:
        print("该功能不支持")

总结

上一篇下一篇

猜你喜欢

热点阅读