1036 跟奥巴马一起编程

博客围绕PAT 1036题目“跟奥巴马一起编程”展开,介绍了题目要求,即根据输入的边长和字符画正方形,行数为列数的50%(四舍五入取整),还给出解题思路对话,最后提醒四舍五入时勿用Python的round()函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1036 跟奥巴马一起编程 (15 分)

题意描述:

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

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

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

输入样例1:
10 a
输出样例1:
如图所示
输入样例2:
20 6
输出样例2:
666


解题思路:
Alice: 啊,没劲。
Bob: 出题人这样尽心尽力的让我们开心有什么不好的。
Alice: ε=(´ο`*)))唉,你到底是哪头的 ? !
Bob: 走去吃肉夹馍吧,(* ^ ▽ ^ *), 我跟你说这道题我2分钟就能写出来。
Alice: O(∩_∩)O哈哈~ 你就吹吧
Bob: 真的,比珍珠还要真啊o(*≧▽≦)ツ


代码:

def main():
    temp = [x for x in input().split()]
    # 存储输入的数字和字符
    N = int(temp[0])
    # N, 注意题目中已经给出了N的范围 3 <= N <= 20
    C = temp[1]
    # C, 输入的字符
    print(C * N)
    # 打印第一行,正方形横着的一条边。
    # python中 一个字符 乘以 一个整数得到的是将这个字符重复N次的字符串。如 '6' * 3 -> '666'。
    for x in range(int(N * 0.5 + 0.5) - 2):
        #注意这里中间行的数量,行数是列数的50%(四舍五入取整)。其中 int(N * 0.5 + 0.5)就是取50%后再四舍五入取整的结果。
        # 为啥子要减2, 因为第一行和最后一行和中间行不一样,我们需要单独打印这两行。
        print(C + " " * (N - 2) + C)
        #对于中间的 行,每行只打印前后两个字符和中间 N - 2个空格。
    print(C * N)
    # 打印最后一行,正方形横着的另一条边。


if __name__ == '__main__':
    main()


易错点:

  • 四舍五入时不要使用使用Python中的round( ) 函数。

总结:

  • 一日之计在于吃早餐, o(*≧▽≦)ツ。

breakfast and furit

美国总统巴拉克·奥巴马为了支持计算机科学教育,在2014年的“计算机科学教育周”期间鼓励人们学习编程,并亲自参与了一个简单的编码练习:在屏幕上绘制一个正方形。这个活动旨在激励更多的人尤其是年轻人参与到编程的学习中来。 对于想要跟随奥巴马的脚步并参加类似活动或者寻找相关教程的人来说,可以考虑以下几个途径: 探索在线平台提供的资源 许多网站提供免费的编程课程和互动体验,例如Code.org就曾举办过类似的活动。访问这些平台可能会找到与奥巴马画方块相似的教学内容或其他基础编程入门项目。 尝试编程环境中的简单图形绘制 利用Python等易于上手的语言及其内置模块(如Turtle Graphics),可以在本地或云端IDE里实践如何用代码创建形状。下面是一个简短的例子展示怎样使用Python turtle库来实现这一目标: ```python import turtle def draw_square(): window = turtle.Screen() window.bgcolor("white") brad = turtle.Turtle() brad.shape("turtle") brad.color("black", "blue") for _ in range(4): brad.forward(100) brad.right(90) window.exitonclick() draw_square() ``` 加入社区讨论和技术论坛交流经验心得 像Stack Overflow、Reddit以及特定领域的社交媒体群组都是很好的地方去提问关于编程的问题或是分享自己的进展成果。此外还有专门针对青少年儿童设计的兴趣小组也可能有关于此主题的信息交换。 关注官方渠道发布的最新动态信息 包括白宫官网在内的政府机构有时会公布特别策划的主题日程安排及配套材料下载链接;同时也可以留意各大科技公司赞助的支持STEM教育计划的通知公告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值