龙空技术网

给你一道算法题会做吗?初识Python算法之字母图形

编程老李Mr 249

前言:

此时看官们对“算法图解英文版怎么写出来”可能比较关注,姐妹们都需要学习一些“算法图解英文版怎么写出来”的相关知识。那么小编同时在网摘上网罗了一些关于“算法图解英文版怎么写出来””的相关文章,希望你们能喜欢,各位老铁们快快来了解一下吧!

算法是程序的灵魂,就像大脑之于身体一样,所以算法学习的重要性远高于编程语法的学习。算法的背后是数学和规律,今天我们就来通过一道简单的算法题一起体验下编程逻辑的魅力吧,出发!

算法是程序的灵魂

题目

利用字母可以组成一些美丽的图形,例如:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个由5行、7列组成的文字图形,请你找出这个图形的规律,并写出n行m列的图形(n>=1, 26>=m>=1)。

字母图形

好了,我想此时此刻你的大脑一定在飞速运转,给你3分钟的思考时间,如果你已经有了思路,那就快快使用编程代码来验证它。如果还没有思路,不要紧,来跟着我继续往下看。

规律分析

编程时不要着急,首先需要想清楚你的逻辑思路。我们来分析这道题目的规律,第一行按照字母的顺序依次写m个字母(m是列数),第一列按照字母的顺序依次写n个字母(n是行数)。接下来我们从第二行开始观察,会发现每一行都是从第一个字母开始按照字母顺序依次倒序来写,直到字母A后再开始正序来写,且写到这一行的字母数等于列数m为止。

因为英文字母表的顺序是不变的,所以我们可以将题目中给出的字母图形作为数字来看。例如我们按照字母所处的位置,让A=0,B=1,C=2,……,那么如上例子中的字母图形就变为了:

01234561012345210123432101234321012

字母和数字对应起来

经过观察可以发现,似乎这些数字都可以表示为所在行和列的差的绝对值!哇喔,发现了这个规律,我们就可以露出自信的笑容了。

自信的笑容

程序编写

好了,我们似乎已经找到了规律,那么如何使用编程代码来实现呢?我们以Python编程为例来解决下这个“字母图形”的问题。记住,算法是跨语言的,任何语言都支持逻辑判断和循环等,这里以Python编程为例的目的是为了对初学者更加简单且易于上手一些。

① 用户输入行数和列数,并进行有效性校验:

行列的输入和有效性校验

② 使用列表来定义字母表:

字母列表

③ 具体逻辑:

具体逻辑

④ 完整的编程代码:

完整代码

让我们来一起看看程序的运行效果吧,例如我输入n=6,m=6:

程序运行效果

大家觉得这道题目是不是很简单呢?没错,只要你认真思考和分析,一般的算法学习也不会太难。大家一定要记住,编程的学习不仅仅是学习编程的语法,更重要的是编程思想和算法的学习。相信你在算法的学习历程中,一定会体会到编程真正的乐趣,加油!

跟我学Python

标签: #算法图解英文版怎么写出来 #算法图解英文版怎么写出来的