首页 > 试题广场 >

跟奥巴马一起编程(15)

[编程题]跟奥巴马一起编程(15)
  • 热度指数:13755 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算

机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

说明:请严格按照题面说明输出即可,不必与样例格式对应

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


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

输入

10 a

输出

aaaaaaaaaa
a        a
a        a
a        a
aaaaaaaaaa
def roundss(x):
    r = x/2
    s = r%1
    if s>=0.5:
        R = x//2
        return R+1
    else:
        R = x//2
        return R

n,c =input().split()
n = int(n)
r = roundss(n)
for i in range(1,r+1):
    if i == 1&nbs***bsp;i == r:
        print(c*n)
    else:
        print(c,end="")
        print(" "*(n-2),end="")
        print(c)
python 3 写法:
解析:
由于round函数不好用,
所以先自定义一个函数来处理四舍五入的问题。
处理好行数列数就可以采用for循环输出了
发表于 2023-06-27 18:51:31 回复(0)
a = input().split(' ')
print(a[1] * eval(a[0]))
for i in range(int((eval(a[0]) + 1)/2 - 2)):
    print(a[1] + ' ' * (eval(a[0]) - 2) + a[1])
print(a[1] * eval(a[0]))

发表于 2019-11-29 19:15:01 回复(0)
N, C = input().split()
N = eval(N)
M = N / 2
M = int(M) + 1 if M - int(M) >= 0.5 else int(M)
print(C * N)
for i in range(M - 2):
    print(C + ' ' * (N - 2) + C)
print(C * N)    

发表于 2019-08-29 17:33:44 回复(0)
N,C = input().split()
Col,Row = '',C
column = int(N)
row = round(column/2+0.1)-2
for i in range(column-2):
    Row += ' '
Row += C
print(C*column)
for i in range(row):
    print(C + ' '*(column-2) + C)
print(C*column)

发表于 2019-03-26 10:06:32 回复(0)
while True:
    try:
        num,sign = input().split()
        num = int(num)
        print(sign*num)          #开头的一行 
        for i in range(int((num+1)//2)-2):  #找出输出中间的行数(总行数-2)
            print(sign+" "*(num-2)+sign)   
        print(sign * num)       #结束的一行
    except Exception:
        break
编辑于 2018-09-22 12:20:23 回复(0)

python solution

a = input().split()
length, char = int(a[0]), a[1]
print(char * length)

line = length // 2 - 1 if length % 2 else length // 2 - 2
for i in range(line):
    print(char + " " * (length - 2) + char)

print(char * length)
发表于 2017-11-17 11:14:01 回复(0)

问题信息

难度:
6条回答 18523浏览

热门推荐

通过挑战的用户