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=" ")
相关推荐
毅炼1 天前
Java 基础常见问题总结(3)
java·开发语言
m0_748229991 天前
PHP简易聊天室开发指南
开发语言·php
码云数智-大飞1 天前
从回调地狱到Promise:JavaScript异步编程的演进之路
开发语言·javascript·ecmascript
froginwe111 天前
jQuery 隐藏/显示
开发语言
一晌小贪欢1 天前
深入理解 Python HTTP 请求:从基础到高级实战指南
开发语言·网络·python·网络协议·http
七牛云行业应用1 天前
1M上下文腐烂?实测Opus 4.6 vs GPT-5.3及MoA降本架构源码
人工智能·python·llm·架构设计·gpt-5·claude-opus
Cinema KI1 天前
C++11(下) 入门三部曲终章(基础篇):夯实语法,解锁基础编程能力
开发语言·c++
m0_748229991 天前
PHP+Vue打造实时聊天室
开发语言·vue.js·php
亓才孓1 天前
[JDBC]事务
java·开发语言·数据库
枫叶丹41 天前
【Qt开发】Qt界面优化(一)-> Qt样式表(QSS) 背景介绍
开发语言·前端·qt·系统架构