zoukankan      html  css  js  c++  java
  • Python语法基础03(if语句,while循环与for循环)

    if语句:
    语法:
    单分支
    if 判断条件:
    语句块

    执行过程:首先执行判断条件,当条件成立则执行判断条件下面的语句块,
    若条件不成立,则不执行

    双分支
    if 判断条件:
    语句块1
    else:
    语句块2
    执行过程: 首先执行判断条件,若条件成立则执行语句块1,若条件不成立,则执行
    语句2.

    多分支
    if 判断条件1:
    语句块1
    elif 判断条件2:
    语句块2
    elif 判断条件n:
    语句块n
    else:
    语句块
    执行过程:
    首先执行判断条件1,若成立则执行语句块1,若不成立,则执行判断语句2,若条件成立,
    则执行语句块2,若不成立,依次类推,若所有的判断条件都不成立,则执行else下面的语句块。

    if语句的嵌套
    语法:
    if 判断条件1:
    if 判断条件2:
    语句块2-1
    else:
    语句块2-2
    else:
    语句块1-2

    注意:使用嵌套的时候我们通过它的缩进来进行匹配我们的语句的。

    输入年龄:
    输入的年龄[0,160],若年龄不在这个范围内,则打印年龄非法
    小于16岁 少年
    16~24岁 青少年
    25~34岁 青年
    35~44岁 中年
    45~59岁 中老年
    60年 老年

    输入年龄,小于18未成年人禁止进入,否则打印欢迎光临。。。

    age = int(input("请输入您的年龄:"))
    if age < 18:
    print("未成年人禁止进入。。。")
    else:
    print("欢迎光临。。。")

    if age>=0 and age<=160:
    if age < 16:
    print("少年")
    elif age < 25:
    print("青少年")
    elif age < 35:
    print("青年")
    elif age < 45:
    print("中年")
    elif age < 60:
    print("中老年")
    else:
    print("老年")
    else:
    print("年龄非法")
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    我们可以将我们的if语句强制性写在一行,成了伪三目运算。
    result1 if 判断条件 else result2
    执行过程:
    先执行判断条件,当判断条件成立则返回result1,若条件不成立,则返回result2.
    三目运算:完成一个二选一的结果。

    num1 = int(input(“请输入第一个数据:”))
    num2 = int(input(“请输入第二个数据:”))
    print(num1 if num1>num2 else num2)

    循环之while:
    while循环的基本语法:

    while 判断条件:
    循环体

    执行过程:先执行判断条件,条件成立,则进入循环体,执行一遍循环体中的代码,
    循环体执行结束,继续进行判断,若条件成立,继续执行循环体,循环往复,直到
    条件不成立的时候,退出循环

    循环嵌套:
    while 判断条件1:
    while 判断条件2:
    循环体2
    循环体1

    执行过程:先执行判断条件1,若条件1成立,则进入循环体,执行判断条件2,若条件2成立,
    则执行循环体2,继续执行判断条件2,直到条件2不成立为止,退出内循环,执行循环体1中
    的内容,执行判断条件1,条件成立,执行判断条件2…直到条件1不成立则退出循环。

    外循环执行一次,内循环执行结束之后,再执行第二次外循环…

    计算 1+2+3+…+100 的和

    res = 0 #统计大小
    n = 1 #初始值
    while n<=100:
    res += n # 将n的值加到res身上
    n += 1 #对n进行加1处理

    print("res=",res)

    1x2x3x...x100的积
    ji = 1
    n = 1
    while n<=100:
    ji *= n
    n += 1
    print("ji=",ji)

    求n!
    n = 1x2x3..xn
    要求n从控制台输入
    n = int(input("请输入一个正整数:"))
    ji = 1
    i = 1
    while i<= n:
    ji *= i
    i += 1
    print("%d的阶乘为%d"%(n,ji))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    求阶乘之和

    res = 1! + 2! + 3! +...+n!

    n = int(input("请输入一个正整数:"))
    res = 0
    j = 1
    while j <= n:
    #求阶乘
    ji = 1
    i = 1
    while i <= j:
    ji *= i
    i += 1
    res += ji
    j += 1
    print("res=",res)

    n = int(input("请输入一个正整数:"))
    ji = 1
    i = 1
    res = 0
    while i<= n: # i=1 i=2
    ji *= i #ji = 1x1 ji=1!x2=2!
    i += 1
    res += ji #res = 1! res = 1!+2!
    print("res=",res)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    打印星星号
    控制台输入1

    1 1
    控制台输入2
    1 1
    ** 2 2
    输入3
    1 1
    1
    ** 2 2
    *** 3 3
    输入4
    *
    **

    输入5
    *
    **

    n = int(input("请输入一个正整数:"))
    i = 1
    while i<=n: #打印的行数
    j = 1
    while j <= i: #打印星星号的个数
    print("*",end="")
    j += 1
    print()
    i += 1

    while i<=n:
    print("*"*i)
    i += 1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while循环之死循环:

    输入用户名以及密码,判断用户名与密码是否正确,
    若不正确则一直输入,直到输入正确为止
    用户名:admin
    密码:123456

    while True:
    name = input(“请输入您的用户名:”)
    psd = input(“请输入您的密码:”)
    if name == “admin” and psd == “123456”:
    print(“正确”)
    break
    else:
    print(“请重新输入。。。”)
    continue

    break contine和pass的使用:

    break: 跳出循环体【跳出它所在循环的循环体】
    continue:结束当前此次循环[continue下面的语句不会再执行],继续下一次 【不跳出循环体】
    pass:保证语义的完整,本身没有任何意义
    注意:break与continue只能用于循环中。

    需求变更:
    每次游戏开奖之后,提示要不要继续,若显示yes继续,若输入no则退出游戏。

    import random
    while 1:
    jiang = random.randrange(1,7)
    print(jiang)
    ya = input("押大还是押小?大/小")
    if ya == "大" and jiang>3 or ya == "小" and jiang<4:
    print("庄家喝酒。。。")
    else:
    print("先干为敬。。。")
    ji = input("是否继续游戏?yes/no")
    if ji == "yes":
    continue #结束当前这次循环,继续下一次
    else:
    break #跳出循环
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    while循环之else:

    while 判断条件:
    循环体
    else:
    语句块
    当我们的循环正常执行结束的时候,它才会执行我们的else语句下面的语句块,
    若循环体中的代码是非正常执行结束,这时候它不会执行else下面的语句块。
    【当使用break跳出循环的时候,就是非正常执行结束的状态】

    若while循环只有一条语句的时候,我们可以将while循环与下面的语句强制性写在一行

    while True: pass

    1+2+..+100
    n = 1
    res = 0
    while n<=100:
    res += n
    n += 1
    print(n)
    if n>50:
    continue
    else:
    print("循环结束")
    print(res)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for循环:
    for循环的语法:
    for 变量 in 序列:
    循环体
    依次将序列中元素取出并且赋值给变量,直到序列元素中的元素全部取出为止,循环结束。

    range([start,]stop[,step])
    start:指定开始,默认0
    stop:取值的结束 必须写
    step:步长 默认1
    功能:可以产生一个[start,stop)的序列

    list1 = ["hello","hahha","hehe","heihei"]
    for x in list1: #用for循环遍历列表
    print(x)

    1+2+3...+10 #计算1+....+10的和
    list2 = [1,2,3,4,5,6,7,8,9,10]
    res = 0
    for i in list2:
    res += i
    print(res)


    print(list(range(1,101))) #1到100的列表
    res2 = 0
    for j in range(100,0,-1): #1+....+100的和
    print("j=",j)
    res2 += j
    print(res2)

    使用for循环求n的阶乘
    n = int(input("请输入一个正整数:"))
    ji = 1
    for x in range(1,n+1):
    ji *= x
    print("%d的阶乘为%d"%(n,ji))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    循环的嵌套:
    for i in 序列1:
    循环体1
    for j in 序列2:
    循环体2

    执行过程:
    首先进入外循环,外循环执行一次,进入内循环,
    内循环【执行一轮】执行结束,退出内循环,执行第二次外循环,
    又重新进入内循环,循环往复,直到外循环退出,整个循环才结束

    求阶乘之和
    方法一:
    res = 1!+2!+3!+...+n!

    n = int(input("请输入一个正整数:"))
    res = 0
    for i in range(1,n+1):
    ji = 1
    for x in range(1, i + 1):
    ji *= x
    res += ji
    print("res =",res)

    方法二:
    n = int(input("请输入一个正整数:"))
    res = 0
    ji = 1
    for x in range(1,n+1):
    ji *= x #x = 1 ji = 1! x=2 ji=1x2=2!
    res += ji #1!+2!+...
    print("res =",res)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    for循环之else:
    for 变量 in 序列:
    循环体
    else:
    语句块

    执行过程:执行循环,若循环正常执行结束,则执行else下面的语句块,若是非正常执行结束
    else下面的语句块则不再执行。

    for x in range(10):
    if x>50:
    break
    else:
    print("循环结束")
    1
    2
    3
    4
    5
    使用for循环打印九九乘法表
    两个循环:
    1.外循环控制行
    2.内循环控制列

    for i in range(1,10):
    for j in range(1,i+1):
    print("%dx%d=%d"%(j,i,j*i),end=" ")
    print(http://www.my516.com)
    1
    2
    3
    4
    基本数据类型能作用于for循环的有
    字符串,列表,元组,字典,集合,range()
    ---------------------

  • 相关阅读:
    通过修改注册表建立Windows自定义协议
    cmd命令大全
    Sql Server 2012 存储过程的调试
    C#.Net环境下的缓存技术
    WCF引用方式之IIS方式寄宿服务
    关于WCF引用方式之WCF服务寄宿控制台
    tcp_tw_recycle和tcp_timestamps导致connect失败问题
    TCP短连接TIME_WAIT问题解决方法大全
    打开tcp_tw_recycle引起的一个问题
    TCP三次握手,什么情况下client会回复reset
  • 原文地址:https://www.cnblogs.com/ly570/p/11106223.html
Copyright © 2011-2022 走看看