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=" ")
相关推荐
破无差30 分钟前
python实现简单的地图绘制与标记20250705
python
向阳@向远方31 分钟前
第二章 简单程序设计
开发语言·c++·算法
喜欢吃豆1 小时前
目前最火的agent方向-A2A快速实战构建(二): AutoGen模型集成指南:从OpenAI到本地部署的全场景LLM解决方案
后端·python·深度学习·flask·大模型
Mr_Xuhhh1 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
纳兰青华1 小时前
bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
java·开发语言·spring·list
好开心啊没烦恼1 小时前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
liulilittle1 小时前
VGW 虚拟网关用户手册 (PPP PRIVATE NETWORK 基础设施)
开发语言·网络·c++·网关·智能路由器·路由器·通信
Devil枫1 小时前
Kotlin高级特性深度解析
android·开发语言·kotlin
ChinaDragonDreamer1 小时前
Kotlin:2.1.20 的新特性
android·开发语言·kotlin
安之若素^2 小时前
启用不安全的HTTP方法
java·开发语言