Python打卡第十一天,跟着CSDN练习语法

# 用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)

注:打印图形真的太考验我了,我真的一点思路都没有,泪目了。努力看懂每一行代码ing

 等腰三角形

# 等腰三角形
lines = int(input("请输入行数:"))
for i in range(lines):
    # 行数
    for j in range(lines - i):
        print(end=" ")
    # 一行多少个
    for k in range(i * 2 + 1):
        print("*", end="")
    print()

 结果:

请输入行数:5
     *
    ***
   *****
  *******
 *********

菱形

# 菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
    print('请输入奇数')
    import sys
    sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
    print(" " * (half_lines - i), end="")
    print("*" * (2 * i + 1))
# 打印下半
for i in range(half_lines - 1):
    print(" " * (i + 2), end="")
    print("*" * (lines - 2 - 2 * i))

结果:

输入要打印的行数(奇数):7
    *
   ***
  *****
 *******
  *****
   ***
    *

空心菱形:

# 空心菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
    print('请输入奇数')
    import sys
    sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
    print(" " * (half_lines - i), end="")
    if i == 0:
        print("*")
    else:
        print("*", end="")
        print(" " * (2 * i - 1), end="")
        print("*")
# 打印下半
for i in range(half_lines - 1):
    print(" " * (i + 2), end="")
    if i == half_lines - 2:
        print("*")
    else:
        print("*", end="")
        print(" " * (lines - 4 - 2 * i), end="")
        print("*")

结果:

输入要打印的行数(奇数):7
    *
   * *
  *   *
 *     *
  *   *
   * *
    *


近似圆

# 近似圆
radius = int(input("请输入半径: "))
for i in range(2 * radius + 1):
    half = round((radius ** 2 - (radius - i) ** 2) ** 0.5)
    print("  " * (radius - half), end="")
    print("*", end="")
    print("  " * half * 2, end="")
    print("*")

结果:

请输入半径: 3
      **
  *        *
*            *
*            *
*            *
  *        *
      **

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值