鱼C论坛

 找回密码
 立即注册
查看: 2151|回复: 5

[已解决]如何保证这个三角形是等腰三角形

[复制链接]
发表于 2020-2-8 17:38:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在做这道题的时候,不太理解如何保证是等腰三角形的等腰?
代码如下:
for i in range(5):
    for j in range(5-i):
            print(" ",end="")
    for k in range(i+1):
            print("☆",end="")
    print()
实现如下:
     ☆
    ☆☆
   ☆☆☆
  ☆☆☆☆
☆☆☆☆☆
最佳答案
2020-2-9 07:13:23
本帖最后由 Judie 于 2020-2-8 18:16 编辑

☆其实是站了两个空格位置
希望以下的演示对有你帮助~

  1. for i in range(5): # i = 0,1,2,3,4
  2.     for j in range(5-i): # 5-i = 5,4,3,2,1
  3.         print(" ",end="")# 打印5,4,3,2,1个空格
  4.     for k in range(i+1): # i+1 = 1,2,3,4,5
  5.         print("☆",end="")# 打印1,2,3,4,5个☆
  6.     print() #换行

  7. print()

  8. for i in range(5): # i = 0,1,2,3,4
  9.     for j in range(5-i): # 5-i = 5,4,3,2,1
  10.         print(" ",end="")# 打印5,4,3,2,1个空格
  11.     for k in range(i+1): # i+1 =
  12.         print("*",end="")# 打印1,2,3,4,5个*
  13.     print() #换行

  14. print()

  15. #☆其实是站了两个空格位置,我用11代替   
  16. #空格我用0代替
  17.    
  18. for i in range(5): # i = 0,1,2,3,4
  19.     for j in range(5-i): # 5-i = 5,4,3,2,1
  20.         print("0",end="")# 打印5,4,3,2,1个0
  21.     for k in range(i+1): # i+1 = 1,2,3,4,5
  22.         print("11",end="")# 打印1,2,3,4,5个11
  23.     print() #换行
复制代码


运行后是这个样子的
  1.      ☆
  2.     ☆☆
  3.    ☆☆☆
  4.   ☆☆☆☆
  5. ☆☆☆☆☆

  6.      *
  7.     **
  8.    ***
  9.   ****
  10. *****

  11. 0000011
  12. 00001111
  13. 000111111
  14. 0011111111
  15. 01111111111
复制代码


202002081815.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-8 17:43:44 | 显示全部楼层
  1. for i in range(5):
  2.     # 假设 i 是 0,则输出 5-0=5 个空格,0+1=1 颗星星
  3.     # 假设 i 是 1,则输出 5-1=4 个空格,1+1=2 颗星星
  4.     # 假设 i 是 2,则输出 5-2=3 个空格,2+1=3 颗星星
  5.     # ……
  6.     print(" " * (5 - i), end="")
  7.     print("☆" * (i + 1))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-8 18:02:03 | 显示全部楼层

这个我能理解,我现在不太理解的是如何保证五角星在第一排处于第4个位置,第二行从第3个位置开始的,也就是能保证是等腰的情况
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 07:13:23 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Judie 于 2020-2-8 18:16 编辑

☆其实是站了两个空格位置
希望以下的演示对有你帮助~

  1. for i in range(5): # i = 0,1,2,3,4
  2.     for j in range(5-i): # 5-i = 5,4,3,2,1
  3.         print(" ",end="")# 打印5,4,3,2,1个空格
  4.     for k in range(i+1): # i+1 = 1,2,3,4,5
  5.         print("☆",end="")# 打印1,2,3,4,5个☆
  6.     print() #换行

  7. print()

  8. for i in range(5): # i = 0,1,2,3,4
  9.     for j in range(5-i): # 5-i = 5,4,3,2,1
  10.         print(" ",end="")# 打印5,4,3,2,1个空格
  11.     for k in range(i+1): # i+1 =
  12.         print("*",end="")# 打印1,2,3,4,5个*
  13.     print() #换行

  14. print()

  15. #☆其实是站了两个空格位置,我用11代替   
  16. #空格我用0代替
  17.    
  18. for i in range(5): # i = 0,1,2,3,4
  19.     for j in range(5-i): # 5-i = 5,4,3,2,1
  20.         print("0",end="")# 打印5,4,3,2,1个0
  21.     for k in range(i+1): # i+1 = 1,2,3,4,5
  22.         print("11",end="")# 打印1,2,3,4,5个11
  23.     print() #换行
复制代码


运行后是这个样子的
  1.      ☆
  2.     ☆☆
  3.    ☆☆☆
  4.   ☆☆☆☆
  5. ☆☆☆☆☆

  6.      *
  7.     **
  8.    ***
  9.   ****
  10. *****

  11. 0000011
  12. 00001111
  13. 000111111
  14. 0011111111
  15. 01111111111
复制代码


202002081815.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 14:18:01 | 显示全部楼层
Judie 发表于 2020-2-9 07:13
☆其实是站了两个空格位置
希望以下的演示对有你帮助~

太感谢您了,我就是占两个位置这点没考虑到,太感谢您了,谢谢谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 14:23:00 From FishC Mobile | 显示全部楼层
超哥超级爱学习 发表于 2020-2-9 01:18
太感谢您了,我就是占两个位置这点没考虑到,太感谢您了,谢谢谢谢

不客气呀
我一开始也没意识到 啊哈哈哈 这也正常
也谢谢你的最佳答案 呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-3 20:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表