zoukankan      html  css  js  c++  java
  • Python全栈工程师(for、列表)

    ParisGabriel

     
     
    Python 入门基础
     
     
     
     

    for:
    用来遍历可迭代对象的数据元素
    可迭代对象是指以此获取数据元素的对象
    迭代对象包括:
    字符串 str
    列表 list
    元组 tuple
    字典 dict
    语法:
    for 变量列表 in 可迭代对象:

    L = ["a", "abc", "中国", 123]
    for x in L:
        print(x)
    else:
        print("结束")

    说明:
    当循环内部使用break结束循环时,else将不再执行并且else 可以省略
    range()函数:
    range(stop) 从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop
    range(star,stop[,step])
    从star开始每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以是负数)
    help(range) 查询帮助
    作用:
    用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)

    for x in range(0, 10, 3):
        print(x)
    

    说明:
    range函数带调用返回的对象可用于for语句来进行依次迭代取出其中的函数
    for嵌套:

    for x in range(5):
        for y in range(3):
            print(x, y, "ABC")
    

    continue:
    用于循环语句中(while、 for )不再执行本次循环内continue之后的语句
    重新开始一次新的循环

    for x in range(10):
        if x % 2 == 0:
            continue
        print(x)
    

    说明:
    在while中直接跳到真值表达式重新判断
    在for中直接将可迭代对象内的元素绑定到下一个再次循环

    列表 list:
    列表是一种容器(通常用来储存计算机的数据对象)
    列表是可以被改变的序列
    是由一系列特定元素组成的 元素与元素之间可能没有任何关联关系
    但他们由先后顺序关系
    空列表创建方式:

    L=[ ]
    列表是可迭代对象:

    非空列表创建方式:

    空列表:
    L = []
    
    非空列表:
    L = [1, 2, 3, 4]
    L = ["a", "b", "c"]
    L = [1, 2, ["a", "b", "c", "d"], 3, 4]

    列表的构造函数list:
    list()等于空列表
    list(iterable)用可迭代对象创建一个列表
    列表的运算:
    + 用于拼接列表
    += 用于将右侧的可迭代对象的数据追加到原列表中
    * 用于生成重复列表
    *=
    列表的比较运算:
    < <= > >= == !=
    比较规则和字符串完全相同
    列表的in、notin:
    判断一个元素是否存在于列表中 如果纯在返true否则false
    in 和 nat in 返回值相反

    练习:
    1.用for实现:
    输入一个数W代表正方形的宽度:

    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5

    答案:

    a = int(input("plaese input at will integer:"))
    for x in range(1, a + 1):
        for y in range(1, a + 1):
            print(y, end = " ")
        print()
    

    改写上上题:
    1 2 3 4 5
    2 3 4 5 6
    3 4 5 6 7
    4 5 6 7 8
    5 6 7 8 9 

    第一种:
    a = int(input("plaese input at will integer:")) for x in range(1, a + 1): for y in range(x, a + x): print("0%2d" % y, end = " ") print()
    第二种:
    a = int(input("plaese input at will integer:"))
    for x in range(1, a + 1):
        for y in range(x, a + x):
            print(y, end = " ")
        print()
    

      

    2.
    输入任意文字,存于列表L中,当不输入任何内容直接回车后结束输入
    打印L列表中的内容
    计算你共输入几行内容、和多少个字符

    答案:

    L = []
    i = 0
    while True:
        a = input("plaese input at will string:")
        if a == "":
            break
        i += len(a)
        L += [a]
    print('''
    L = : %s
    you have entered:%d row
    %d Entries character
        ''' % (L, len(L), i))
    

    3.
    输入一个整数 (代表树干高度)
    打印出如下一颗树
    输入:2
     *
    ***
     *
     *

    输入3
      *
     ***
    *****
      *
      *
      *

    答案:

    a = int(input("plaese input at will integer:"))
    for x in range(1, a * 2, 2):
        print(("*" * x).center(a * 2))
    else:
        for s in range(1, a * 2, 2):
            print("*".center(a * 2))
    

    4.
    任意输入一个整数 判断这个数是否是素数(prime)
    素数也叫质数,是只能被1和自身整除的数:
    如:2 3 5 7 11 等
    提示:
    用排除法:判断x是否是素数是,只要让x分别除以:2 3 4 5 ...-1
    只要整除了 那x不是素数,否则x是素数

    答案:

    a = int(input("plaese input at will integer:"))
    for x in range(2, a):
        if a % x == 0:
            s = "it's not a prime"
            break
        else:
            s = "This is a prime"
    print(s

    5.
    算出100 ~ 1000以内的水仙花数(naricissistic)
    水仙花数是指百位的3次方 加上十位的3次方 加上各位的3次方等于原数的数
    153=1**3+5**3+3**3 153 370

    答案:

    for x in range(100, 1000):
        if (x // 100) ** 3 + ((x % 100) // 10) ** 3 + (x % 10) ** 3 == x:
            print(x)
    

  • 相关阅读:
    Docker
    Orleans MultiClient 多个Silo复合客户端
    Docker
    C# 动态创建实例化泛型对象,实例化新对象 new()
    .net core UseHttpsRedirection() 正式环境无效
    .NET Core 版本不支持的问题
    Swift 编译时间优化
    test chemes
    Mac下开发常用目录
    文字高度问题
  • 原文地址:https://www.cnblogs.com/ParisGabriel/p/9275959.html
Copyright © 2011-2022 走看看