python--for循环

for循环:

python中的for循环是用来迭代容器中的每一个元素的,而不是c,java中理解那个循环;

for 零时变量 in 容器:

print(零时变量) #每一个迭代出的元素

range 全局函数:

range(num) # [0, num)区间内所有整数

range(start, end) #[start, end)区间内所有整数

range(start, end, step) # 默认步长是1,但是可以通过第三个参数修改步长

案例1:

*

**

***

****

*****

复制代码
layer = int(input("请输入你想打印的行数:"))
for i in range(0, layer+1):
    for j in range(0, i):
       print("*", end="")
    print()
案例2:

*

***

*****

*******

*********

复制代码
layer = int(input("请输入你想打印的行数:"))
for i in range(0, layer):
    for j in range(0, (2 * i) + 1):
       print("*", end="")
    print()
案例3:

*

* *

* * *

* * * *

* * * * *

方法一:
复制代码
for i in range(1, layer + 1):
    #打印空格的个数
    for j in range(layer - i):
        print(" ", end=" ")
    #打印*的个数
    for j in range(i):
        print("*", end=" ")
    print()
方法二:
复制代码
for i in range(1, layer + 1):
        # 打印空格的个数
        print(" " * (layer - i), end=" ")
        # 打印*的个数
        print("*" * i,)
案例4:

*

* * *

* * * * *

* * * * * * *

* * * * * * * * *

复制代码
for i in range(1, layer + 1):
    #打印空格的个数
    for j in range(layer - i):
        print(" ", end=" ")
    #打印*的个数
    for j in range(2 * i - 1):
        print("*", end=" ")
    print()
案例5:

* * * * * * * * *

* * * * * * *

* * * * *

* * *

*

复制代码
for i in range(layer, 0, -1):
    #打印空格的个数
    for j in range(layer - i):
        print(" ", end=" ")
    #打印*的个数
    for j in range(2 * i - 1):
        print("*", end=" ")
    print()
案例6:

*

***

*****

*******

*********

*******

*****

***

*

复制代码
layer = int(input("请输入一个奇数:"))
while layer % 2 == 0:
    layer = int(input("请输入一个奇数:"))
for i in range(1, layer // 2 + 1):
    print(" " * (layer - i), end=" ")
    print("*" * (2 * i - 1))
for i in range(layer // 2 - 1, 0, -1):
    print(" " * (layer - i), end=" ")
    print("*" * (2 * i - 1))

实验七:(存在问题)

复制代码
layer = int(input("请输入一个奇数:"))
while layer % 2 == 0:
    layer = int(input("请输入一个奇数:"))
for i in range(0, layer // 2 + 2):
    print(" " * (layer - i), end=" ")
    for j in range(2 * i + 1):
        if j == 0 or j == 2 * i:
            print("*", end=" ")
        else:
            print(" ", end=" ")
    print()
for i in range(layer // 2 - 1, -1, -1):
    print(" " * (layer - i), end=" ")
    for i in range(2 * i + 1):
        if j == 0 or j == 2 * i:
            print("*", end=" ")
        else:
            print(" ", end=" ")
相关推荐
Knight_AL9 分钟前
浅拷贝与深拷贝详解:概念、代码示例与后端应用场景
android·java·开发语言
枫叶丹411 分钟前
【Qt开发】输入类控件(六)-> QDial
开发语言·qt
AI小云29 分钟前
【Python与AI基础】Python编程基础:模块和包
人工智能·python
思考的笛卡尔31 分钟前
Go语言实战:高并发服务器设计与实现
服务器·开发语言·golang
努力努力再努力wz42 分钟前
【C++进阶系列】:万字详解智能指针(附模拟实现的源码)
java·linux·c语言·开发语言·数据结构·c++·python
凤年徐1 小时前
【C++】string的模拟实现
c语言·开发语言·c++
敲代码的嘎仔1 小时前
JavaWeb零基础学习Day2——JS & Vue
java·开发语言·前端·javascript·数据结构·学习·算法
吃鱼吃鱼吃不动了1 小时前
什么是负载均衡?
开发语言·php
小蕾Java1 小时前
Python详细安装教程(附PyCharm使用)
开发语言·python·pycharm
weixin_307779131 小时前
AWS云上ClickHouse数据仓库部署方案详解
开发语言·clickhouse·自动化·云计算·aws