Jasonmes


  • Home

  • Archives

  • Tags

内地城市素质排行

Posted on 2016-07-20

泰坦尼克号生存预测

Posted on 2016-05-08

柯基犬

Posted on 2016-05-01

Python---控制台输出空心菱形

Posted on 2016-04-25
  1. 我这次分成了四个部分
  2. 其实第一部分和最后一部分是一样的
  3. 关键在第二部分和第三部分,这两部分是几乎一样的。

1.第一部分和最后一部分是一样的,就是判断中间的位置打印*,其他位置打印空格

1
2
3
4
5
6
for i in range(1, 20):
if i == 10:
print("*")
break
else:
print(" ", end="")

2.第二部分和第三部分
其实和打印三角形是一样,第三部分无非就是倒着打印,记住,这里的j循环,不仅仅是控制行数,同时也是用来找到每行打印*的位置
如果有不明白的请回头好好理解打印空心三角形,我上一片博客

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 第二部分
for j in range(9, 4, -1):
for i in range(1, 20):
if i == j:
print("*", end="")
elif i == 20 - j:
print("*")
break
else:
print(" ", end="")
# 第三部分
for j in range(4, 10):
for i in range(1, 20):
if i == j:
print("*", end="")
elif i == 20 - j:
print("*")
break
else:
print(" ", end="")

Python---控制台输出:空心正方形

Posted on 2016-04-22
  • 实心的都会写,直接循环print,那么空心的呢?
    • 代码是这样的
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      # 打印正方形
      for i in range(20):
      if i % 2 == 0:
      print("*", end="")
      else:
      print(" ", end="")

      print()
      for j in range(8):
      for i in range(20):
      if i == 0:
      print("*", end="")
      elif i == 18:
      print("*")
      break
      else:
      print(" ", end="")

      for i in range(20):
      if i % 2 == 0:
      print("*", end="")
      else:
      print(" ", end="")
  • 是的分成了三个部分,为了方便理解我分成了三个部分
  • 第一部分和第三部分其实就是打印第一行和最后一行,最简单,这里打印10个*,为了好看,增加了空格隔开,所以range是20
1
2
3
4
5
6
7
8
for i in range(20):
# 以空格隔开,刚好打印*的位置是i偶数的位置,i奇数的位置打印空格
if i % 2 == 0:
print("*", end="")
else:
print(" ", end="")
# 要记得加入这句话,换行,上面的代码运行完毕不会换行
print()
  1. 第二部分,最关键这里:
  2. j循环控制行数,i循环控制每行在哪个位置打印,所以i等于0或者18的时候打印,i等于18的时候打印*之后就要break本次循环进入外层的j循环
  3. end的使用:end=“”的时候,就是不换行,也不空格。最关键的一个代码。
1
2
3
4
5
6
7
8
9
for j in range(8):
for i in range(20):
if i == 0:
print("*", end="")
elif i == 18:
print("*")
break
else:
print(" ", end="")
  • 最后一部分和第一部分是一样的,代码照搬

    空心正方形理解透彻以后我们进入下一个篇章,打印空心三角形

Python---控制台输出:空心三角形

Posted on 2016-04-20

  • 是的我还是分成了三个部分
  • 第一部分和最后一部分都是很容易的,如果理解了空心正方形的话
  • 这里依然选择长度是20的三角形
  • 为了好看,依然用空格隔开,也增加了难度

第一部分

1
2
3
4
5
6
7
# 在中间打印的*,判断i循环下,i累加到10的时候,就打印*,其他时候打印空格加end不换行
for i in range(1, 20):
if i == 10:
print("*")
break
else:
print(" ", end="")

第二部分

1
2
3
4
5
6
7
8
9
10
11
12
# j循环控制行数且控制每行第一个*打印在什么地方,第二行i==9,第三行i==8,第四行i==7,所以使用j递减循环,
i循环每行在哪个位置打印*或者空格。
for j in range(9, 1, -1):
for i in range(1, 20):
if i == j:
print("*", end="")
# 为什么判断是20-j,因为当i==j的时候,打印的*是这行打印的第一个*,每行长度是20,最后一个*的位置肯定在20-j的位置,为了对称。
elif i == 20 - j:
print("*")
break
else:
print(" ", end="")

第三部分

1
2
3
4
5
6
# 和打印正方形的原理是一样,判断哪个位置打印*,这里不同,为了好看,要灵活判断打印*的位置,这里i是奇数的时候打印*,是偶数时候是打印*空格
for i in range(1, 20):
if i % 2 != 0:
print("*", end="")
else:
print(" ", end="")
1…45
张珈盛

张珈盛

来抓我啊

46 posts
© 2019 张珈盛
Powered by Hexo
Theme - NexT.Mist