Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. 第一步:
  2. 下载starter code,地址在 https://mcs.utm.utoronto.ca/~108s19/mini-ex/starry.py
  3. handout在https://mcs.utm.utoronto.ca/~108s19/mini-ex/mini-ex2.pdf
  4.  
  5. 第二步:解释他给的那部分代码的每行的意思,解释的时候在每行后面打个空格,然后以#开头写解释就可以了,大家把中文翻译成英文就可以了
  6.  
  7. for row in range(n): # 这是一个loop,其中row会从0开始,到n结束,但是不包括n
  8.     for column in range(row+1): # 这也是一个loop,其中column会从0开始,到row+1结束,但是不包括row+1
  9.         print('*', end='') # print出来一个*号,end=''的意思是,print完之后会以空string结尾,这样每一次print出来的结果就会连成一行,而不是一行一次(这里大家自己换个说法概述一下)
  10.     print()  # print出来一个空行
  11.  
  12. 第三步,在他给的五个drawing里,选三个图形,想办法用loop把他们画出来,其实用我们上节课讲的while loop就可以了;推荐是画:
  13.     1、第二个(实际上就是我们上课讲的最后一道题的反过来的形式,具体怎么反过来你可以想想,注意我们上课讲的例子是从010,这里要换成n到0)
  14.     2、第三个也很简单,如果第二个会画的话,那是不是实际上就是两个while loop,来画出两个直角三角形,只不过是一正一反
  15.     3、第一个稍微有点难画,我们首先来分解一下这个三角形,我们这里用0来表示空格【注意,空格!=string】,假设n是4,就是说你的图形应该有四行,如下所示
  16.         000*000
  17.         00***00
  18.         0*****0
  19.         *******
  20.         接下来,你是不是可以知道每行的0和*分别是什么了,每行的0(空格)的个数就是(n * 2 - 1)- (第几行 * 2 - 1),*的个数就是(第几行 * 2 - 1)
  21.         所以说,每行的内容就是
  22.         " " * 空格个数的一半 + "*" * 星号的个数 + " " * 空格个数的一半
  23.         然后你把这行内容print出来就可以了;
  24.         所以说,这个部分的代码结构是
  25.  
  26.         当前的行数 = 1
  27.         while 【当前的行数】与【n】满足某种关系时:
  28.             print(上面讲的那个内容)
  29.             当前的行数 = 当前的行数 + 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement