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=" ")
相关推荐
持梦远方14 分钟前
C 语言基础入门:基本数据类型与运算符详解
c语言·开发语言·c++
zzywxc78731 分钟前
AI 正在深度重构软件开发的底层逻辑和全生命周期,从技术演进、流程重构和未来趋势三个维度进行系统性分析
java·大数据·开发语言·人工智能·spring
3gying1 小时前
chromedriver
python
灵性花火1 小时前
Qt的前端和后端过于耦合(0/7)
开发语言·前端·qt
DES 仿真实践家2 小时前
【Day 11-N22】Python类(3)——Python的继承性、多继承、方法重写
开发语言·笔记·python
Code Warrior3 小时前
【每日算法】专题五_位运算
开发语言·c++
沐知全栈开发5 小时前
HTML DOM 访问
开发语言
脑袋大大的6 小时前
JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
开发语言·javascript·性能优化
云泽野6 小时前
【Java|集合类】list遍历的6种方式
java·python·list
二进制person7 小时前
Java SE--方法的使用
java·开发语言·算法