PAT (Basic Level) Practice 1036 跟奥巴马一起编程 Python解法 您所在的位置:网站首页 美国总统像小丑 PAT (Basic Level) Practice 1036 跟奥巴马一起编程 Python解法

PAT (Basic Level) Practice 1036 跟奥巴马一起编程 Python解法

2024-07-17 03:36| 来源: 网络整理| 查看: 265

目录 一、题目二、输入输出三、样例四、题目分析

一、题目

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

二、输入输出

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

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

三、样例

输入样例: 10 a 输出样例: aaaaaaaaaa a a a a a a aaaaaaaaaa

四、题目分析

这道题目原理很简单,但是拐了个弯。

1.思路看似简单,但初次编写代码可能会陷入坑中:四舍五入陷阱(以下为仅使用round函数): 在这里插入图片描述

WA代码:

a = input().split() N, C = int(a[0]), a[1] for i in range(round(N/2)): for j in range(N): if ((i!=0) and i!=(round(N/2)-1)) and ((j!=0) and (j!=N-1)): print(end=' ') else: print(str(C),end='') print("")

2.正解: 先回顾Python round()函数,python3(注意python2 和 3的round()是不一样的,这里仅以python3作说明)中round()对浮点数的取舍遵循的是“四舍六入五平分”,“五平分”就是根据取舍的位数前的小数奇偶性来判断,奇偶平分,符合公平性原则(四舍五入不是公平的),这样一来也就保证了在数据量较大的情况下,筛选数据的真实性。 因此利用该特性,编写一个万能四舍五入式即可。

AC代码:

def new_round(a, b): if isinstance(a, float): if str(a)[::-1].find('.')


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有