Python数据结构与算法刷题(3)——跟奥巴马一起学编程

浏览: 3108

前言

前文传送门:

Python数据结构与算法刷题(1)——害死人不偿命的(3n+1)猜想

Python数据结构与算法刷题(2)——挖掘机技术哪家强

正文

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!


图片.png


输入格式:

输入在一行中给出正方形边长N(3=N=20)和组成正方形边的某种字符C,间隔一个空格。


输出格式:

输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。


输入样例:
10 a


输出样例:

aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa


上代码:


图片.png


注意点:

1. input()可以一次接受多个值,用空格隔开,使用split()即可分开,用对应个数变量接收这些值即可

2. int类型的 // 含义?

3.print输出怎样改变默认输出完换行的操作?

4. 代码是否可以优化,或者换种写法? show me the code !

光看不练,眼高手低可不好哦,动手敲代码吧~


欢迎评论指出文中错误、代码优化和提问~~~

推荐 4
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

9 个评论

加油
老师,为啥我输出的是这样的?
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
中间也有输出空格
检查一下你的空格输出个数对否
for i in range(5):
str1=''
for j in range(10):
if i>0 and i<4:
if j>0 and j<9:
str1=str1+' '
else:
str1=str1+'a'
else:
str1=str1+'a'
print(str1)
col,char=input().split()
col=int(col)
raw=(col+1)//2
str1=col*char
str2=char+(col-2)*" "+char
print(str1)
print((raw-2)*(str2+"\n"),end="")
print(str1)
n,a=input().split()
n=int(n)
print(a*n)
i=n//2-2
while i>0:
print(a+(n-2)*' '+a)
i-=1
print(a*n)
for i in range(5):
str1=''
for j in range(10):
if i>0 and i<4:
if j>0 and j<9:
str1=str1+' '
else:
str1=str1+'a'
else:
str1=str1+'a'
print(str1)
a,b=input().split()
a=int(a)
while a>20 or a<3:
print("请重新输入边长")
a=int(input())
for i in range(1,a,2):
if i ==1 or i==a-1:
print(a*b)
else:
print(b+(a-2)*" "+b)

要回复文章请先登录注册