判断语句

语法结构

if 条件1:

如果条件1为真,执行语句块

elif 条件2:

如果条件2为真,执行语句块

elif 条件3:

如果条件2为真,执行语句块

elif 条件n:

如果条件n为真,执行语句块

else:

如果上述条件都为假,执行语句块

判断条件是一个分支结构,只会执行一个分支
数据类型也可以作为判断条件。对于数字,任何值为0的数字都是假,非0为真;其他数据类型,非空为真,空为假

  1. if -0.0:
    print('值为0,假') # 不打印
    if ' ':
    print('空格也是一个字符,为真')
  1. if '':
    print('空字符串,假') # 不打印
    if [10, 20]:
    print('非空列表,为真')
    if (10, 20):
    print('非空元组,为真')
    a = 10
  1. b = 20
    if a < b:
    s = a
    else:
    s = b
    print(s)
    #以上判断可以简写为
    s1 =a if a < b else b
    print(s)
  1. python中,有非常多的功能,不是直接加载,而是放到了不同的模块文件中,使用模块时,
    先通过import导入,然后使用【模块.功能】的方式使用
  2.  
  3. 1.模拟用户登录
    vim login.py
  4.  
  5. import getpass
  1. username = input("请输入用户名: ")
    passwd = getpass.getpass("请输入密码:") #能够获取用户的输入不在屏幕中显示
    if username == "bob" and passwd == '123456':
    print("登录成功")
    else:
    print("登录失败")

  1. 2.分数测试
    num = int(input('分数:'))
    if num >= 60 and num < 70:
    print('及格')
    elif 70 <= num < 80:
    print('良')
    elif 80 <= num < 90:
    print("好")
    elif num >= 90:
    print("优秀")
    else:
    print('你要努力了')
  1. random模块

>>> import random
>>> random.randint(1.100)                #随机取出1-100之间的数字

77

>>>random.choice('abcd')                        #在字符串中取出一项
'd'

>>>random.choice(['aaa', 'bbb', 'ccc'])     #在列表中随机取出一项
'bbb'

  1. 3.编写石头剪刀布小游戏
  1. import random
    win_list = [['石头', '剪刀'],['剪刀', '布'],['布', '石头']]
    xuan_xiang = ['石头', '剪刀', '布']
    computer = random.choice(xuan_xiang)
    player = input('请出拳(石头/剪刀/布): ')
    print('player: %s, computer: %s' % (player, computer))
    if player == computer:
    print("平局")
    elif [player, computer] in win_list:
    print("你赢了")
    else:
    print("你输了")
  1. 循环语句
    如果循环次数未知,使用while循环
    如果循环次数已知,使用for循环
  2. 语法结构
    while 条件:
    如果条件为真,执行语句块
    语句块执行完毕后,返回到while条件
    while后面得条件,也和if的条件完全一样
  3. 3.优化石头剪刀布脚本,三局两胜
  1. import random
    win_list = [['石头', '剪刀'],['剪刀', '布'],['布', '石头']]
    xuan_xiang = ['石头', '剪刀', '布']
    #为人机创建计数器
    pwin = 0
    cwin = 0
    while pwin < 2 and cwin < 2:
    computer = random.choice(xuan_xiang)
    player = input('请出拳(石头/剪刀/布): ')
    print('player: %s, computer: %s' % (player, computer))
    if player == computer:
    print("\033[32;1m平局\033[0m") 颜色:\033[321m常量\033[0m
    elif [player, computer] in win_list:
    print("\033[31;1m你赢了\033[0m")
    pwin += 1
    else:
    print("\033[31;1m你输了\033[0m")
    cwin += 1
  1. while循环中还可以包含break子句,循环遇到break将会结束循环
    continue语句用于跳过本次循环,回到判断条件处
    python的循环语句也有else,当循环被break时,else语句不执行,否则执行
  2. for循环
    for循环也有continue/break/else,用法与while完全一样
  1. for循环经常和renge连用
  1. s1 = 'abc'
    l1 = ['tom', 'jerry', 'jack', 'rose']
    t1 = (10, 20, 30)
    d1 = {'name': 'nb', 'age': 20}
    for zifu in s1:
    print(zifu)
    a
    b
    c
    for name in l1:
    print(name)

tom
jerry
jack
rose

  1. for i in t1:
    print(i)

10
20
30

  1. for key in d1:
    print(key, d1[key])
  1.  

name nb
age 20

for循环经常和renge连用

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(10))                                   #将range转成列表
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>>for i in range(10):                            #实际使用时,不需要转列表
... print(i)
...

>>> list(range(10))                         #10是结束数字,起始值默认为0,结束数字不包含
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(6,11))                      #6是起始数字,包含
[6, 7, 8, 9, 10]

>>> list(range(1,11,2))           #步长为2
[1, 3, 5, 7, 9]
>>> list(range(10,0,-1))               #步长为-1
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

     列表解析

用于快捷便捷地生成列表解析

>>> [10]
[10]
>>> [10 + 1]                                #将表达式的结果存入列表
[11]
>>> [10 + 1 for i in range(1,11)]                          #通过循环控制表达式的计算次数
[11, 11, 11, 11, 11, 11, 11, 11, 11, 11
>>> [10 + i for i in range(1,11)]                         #表达式可以用循环的变量
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]            
>>> [10 + i for i in range(1,11) if i % 2 == 1]              #if作为过滤条件,满足条件的放到列表
[11, 13, 15, 17, 19]

>>>['192.168.4.%s' %  i  for i in range(255)]                #打印1..254的ip

>>>['192.168.4.' +str(i) for i in range(255)]

  1. fib=[0, 1]
    n = int(input("请用户输入长度: "))
    for i in range(n - 2):
    fib.append(fib[-1] + fib[-2])
    print(fib)
  2.  
  1. for i in range(1,4):
    print('hello', end='\t')
    #打印3个hello,print接受一个end的参数,可以指定使用什么替换\n
    print() #打印回车
  1. for a in range(1, 4): #将上面的内容作为一个主体,再运行3遍
    for i in range(1,4):
  1. print('hello', end='\t')
    #打印3个hello,print接受一个end的参数,可以指定使用什么替换\n
    print() #打印回车
  1. 99乘法表
  1. for i in range(1,10):
    for j in range(1, i + 1):
    print('%s * %s = %s' % (j, i, i * j), end= '\t' )
    print()
  1.  

判断语句 、 while循环 、 for循环的更多相关文章

  1. 1.3if判断语句+while和for循环语句+购物车作业

    1.if 语句 if userame=_usename and password=_password: print("welcome user {name} login..."). ...

  2. VB的判断语句和循环语句

      判断语句 •If语句 if语句共有4种写法: 第一种语法: If 条件判断语句 then 程序代码 第二种语法:If 条件判断语句 then 程序代码 else 程式代码 第三种语法: If 条件 ...

  3. 求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)和不用循环/goto/递归输出1~100的10种写法

    来源:据说是某一年某个公司的面试题 题目:求1+2+…+n, 要求不能使用乘除法.for.while.if.else.s witch.case 等关键字以及条件判断语句(A?B:C) 分析:这题本来很 ...

  4. Swift流程控制之循环语句和判断语句详解

    Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代 ...

  5. python中的判断语句与循环语句

    if语句 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试.if语句检查程序当前状态,并据此采取相应的措施.如果条件测试的值为Ture,Python就执行紧跟在i ...

  6. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  7. java 判断语句和循环语句

    一.判断语句:if和switch if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; }…else { 语句体n+; } switch(表达式) { case 值 ...

  8. 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事

      一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...

  9. 前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事

    一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法 ...

  10. shell脚本判断语句和循环语句

    if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; t ...

随机推荐

  1. Homekit_二路继电器

    介绍一款二路继电器,使用Homekit进行控制,有兴趣的可以去以下链接看看: https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-11265006 ...

  2. Web前端性能优化,应该怎么做?

    摘要:本文将分享一些前端性能优化的常用手段,包括减少请求次数.减小资源大小.各种缓存.预处理和长连接机制,以及代码方面的性能优化等方面. base64:尤其是在移动端,小图标可以base64(webp ...

  3. Python参数解析工具ArgumentParser

    通过命令行运行Python脚本时,可以通过ArgumentParser来高效地接受并解析命令行参数. 流程 新建一个ArgumentParser类对象,然后来添加若干个参数选项,最后通过parse_a ...

  4. 一、常用的Dos命令

    # 查看目录下所有文件 dir # 切换目录 cd cd .. //返回上一级 # 清理屏幕 cls # 查询电脑ip地址 ipconfig # 退出终端 exit # 创建文件夹 md test # ...

  5. js利用canvas绘制爱心

    js代码如下: var cav = document.getElementById("a").getContext("2d"); function draw(x ...

  6. Spring - RestTemplate执行原理分析

    什么是RestTemplate Synchronous client to perform HTTP requests, exposing a simple, template method API ...

  7. SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法

    SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 在Sp ...

  8. 企业项目实战 .Net Core + Vue/Angular 分库分表日志系统 | 简单的分库分表设计

    前言 项目涉及到了一些设计模式,如果你看的不是很明白,没有关系坚持下来,写完之后去思考去品,你就会有一种突拨开云雾的感觉,所以请不要在半途感觉自己看不懂选择放弃,如果我哪里写的详细,或者需要修正请联系 ...

  9. .net Core 下使用 X509Certificate2 给报文加签

    起因 项目开发中途出现需求需要对接其他公司接口,使用证书进行认证传输,之前在.Net下搞过但是都是对方给我证书 这次需要我生成公钥/私钥,公钥给他这样操作. 生成私钥/公钥(这里是RSA算法,长度规定 ...

  10. 《Java从入门到失业》第二章:Java环境(三):Java命令行工具

    2.3Java命令行工具 2.3.1编译运行 到了这里,是不是开始膨胀了,想写一段代码来秀一下?好吧,满足你!国际惯例,我们写一段HelloWorld.我们在某个目录下记事本,编写一段代码如下: 保存 ...