zoukankan      html  css  js  c++  java
  • 24python语法基础基础控制语句

    ###############    if条件控制语句    ###############

    # 以下实例 x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x,如果 x 等于 y 则输出 x+y,否则输出y
    import random
    x=random.randint(0,100)
    y=random.randint(1,100)
    print(x,y)
    print('#'*30)
    if x>y:
        print(x)
    elif x==y:
        print(x+y)
    else:
        print(y)

    ###############    三元运算符   ###############

    一、三元运算符
    三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值
    格式:[on_true] if [expression] else [on_false]
    res = 值1 if 条件 else 值2
    1.举例说明:
    a =1
    b = 2
    c= a if a>1 else b #如果a大于1的话,c=a,否则c=b
     
    如果不用三元运算符,就用if-else条件判断,如下:
    a = 1
    b = 2
    if a >1:
        c = a
    else:
        c = b
     
    2.三元运算符也可以用在列表和字典中
    例:1-10的数字,打印出其中的偶数
    三元运算:
    ss = [i for i in range(1,11) if i%2==0 ] #循环1-11间的值(不包括11),如果值能被2整除(即取偶数),就写到ss这个list中
    print(ss) #最终打印结果 [2, 4, 6, 8, 10]
     
    if-else条件判断
    s = []
    for i in range(1,11):
        if i %2==0:
            s.append(i)
    print(s)
             

    ###############    while循环语句    ###############

    # 实例:使用了 while 来计算 1 到 100 的总和:
    # a=0
    # total=0
    # while a<=100:
    #     total+=a
    #     print(a)
    #     a+=1
    # print(total)
    
    # 无限循环
    # 加法计算器
    
    while True:
        print('1:加法   q:退出')
        option=input('请输入你的操作:')
        if option=='1':
            a=int(input('请输入a:(输入000退出)'))
            b= int(input('请输入b(输入000退出)'))
            c=a+b
            print('a+b=%d'%c)
        if option=='q':
            break

    ###############    for循环语句    ###############

    # 遍历列表
    list1=['c','c++','java','python']
    for i in range(4):  # range是0-4,左开右闭,
        print(i,list1[i])
    
    # 0-100的和
    sum=0
    for i in range(0,101):
        sum+=i
        print(i)
    print(sum)

    ####

     for循环单行写法,注意一下细节,

    list1 = [1,2,3,4]
    
    for i in list1:print(i)  # 这样写是对的,
    # print(for i in list1:i)  # 这样写是不对的,

    ##########################################

    # 打印九九乘法表

    print
    ("\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) for y in range(1, x+1)]) for x in range(1, 10)) ) for i in range(1,10): for j in range(1,i+1): print("%d * %d = %d "%(i,j,i*j),end='') print()

    ##########################################

    # 列表推导式
    
    # 30以内,所有能被3整除的数
    print([i for i in range(31) if i%3 ==0])
    
    # 30以内,所有能被3整除的数的平方
    print([i*i for i in range(31) if i%3 ==0])
    
    # 例题3:找到嵌套列表中名字含有两个‘e’的所有名字
    names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
             ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    
    # 方法一: 普通方法
    l4 = []
    for i in names:
        for j in i:
            if j.count('e') >= 2:
                l4.append(j)
    print(l4)
    
    # 方法二: 列表推导式方法
    print([j for i in names for j in i if j.count('e') >= 2 ])
    
    # 用一行构建代码
    l1 = [i for i in range(1,101)]
    
    # 100以内所有的偶数写入列表.
    print([i for i in range(2, 101, 2)])
    
    # 选出1-100中的奇数。
    [i for i in range(100) if i % 2 != 0]
     list(range(100))[1::2]  可以通过切片的方式
    
    # 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
    l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab']
    l2 = [i.upper() for i in l1 if len(i) > 3]
    print(l2)
    
    优点:
    ​ 简单,快捷,装b
    
    缺点:
    ​ 可读性不高,不好排错
     

     例题:

    # [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
    a = [[1,2],[3,4],[5,6]]
    print([j for i in a for j in i ])

    ##########################################

    ##########################################

  • 相关阅读:
    iOS NSPredicate和正则表达式
    Linux下网络socket编程——实现服务器(select)与多个客户端通信
    多线程有什么用?
    一句话说明白什么是面向对象
    (转)简单的Malloc实现
    动态内存管理:malloc/free/new/delete/brk/mmap
    Qt绘制中国象棋棋盘
    (转)Qt中文手册 之 QApplication
    Qt常用类——QFrame类与QWidge类
    Qt常用类——QWidget
  • 原文地址:https://www.cnblogs.com/andy0816/p/12020488.html
Copyright © 2011-2022 走看看