@jerrywcy
2018-11-09T23:33:48.000000Z
字数 10765
阅读 979
NFLSOJ
因为有一堆人找我要答案。。。
所以。。。
主要是因为有一些人抱怨不懂基础知识。。。
(有基础的童鞋可自行跳过)
python3一共有三种基本数据类型:int,float和complex。
注意,在python里,声明一个数时必须要为其赋值,而不是简单的 int a。
int就是integer的简写,意为整数。
应该没有什么问题吧。。。
定义方法为 a=1 #或任意一个整数
float,本意为浮动,在信息界里称为浮点数,也就是小数。
其实我一开始也是很奇怪的:为什么不叫小数,而要叫浮点数呢?这里面也是有原因的。
简单来说就是对于一个浮点数,python编译器会安排一部分比特来放整数部分,剩下的用来放小数部分。而整数部分占的位置是根据整数部分的大小来决定的,也就是说小数点的位置是浮动的。所以小数又叫浮点数,即小数点浮动的数。
更多内容请见奆佬的博客
定义方法为 a=1.0 #或任意一个小数
简单介绍一下复数。
复数由两个部分组成:实数部分和虚数部分。
了解虚数的同学可以跳过以下部分
实数大家都知道,无理数和有理数统称实数。那虚数是什么呢?
还记得老师说的负数没有平方根吗?
其实这几个字后面应该加上“实数范围内”几个字。
没错,虚数就是负数的平方根。
具体定义:我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。
摘录一段我觉得很好的文字,来自《拜见校长大人》。(顺带安利一下,这本书还是很好的!有兴趣的童鞋可以自行搜索):
看到在场众人的模样,莱纳自然早就有所准备。
十年前,没有一个人能够接受虚数的存在,十年之后,又怎么会这么简单就改变人们的看法。
他站起来,开口说道。
“各位,想必你们都对这篇论文中的虚数感到困惑,认为这是对现实世界没有意义的数字。”
“难道不是吗?”
罗杰反问道。
“如果我有一个苹果,那是正常而合理的,但如果说我有i个苹果,那么我手上的苹果,到底是什么样的?莱纳,你能展现给我看吗?”
他用了十分现实的例子,令他身边的汉娜连连点头。
“我当然不能展现给你看,罗杰大人。”
莱纳面对罗杰这近似嘲讽的疑问,不紧不慢地答道。
“无法在现实中存在的数字,没有存在的意义,即使有关虚数的一套理论都是完备的,但那不过是纸面上的计算,和我们生活的现实又有什么联系呢?”
罗杰继续说道,他这并不是针对莱纳,而是对其他几人,希望寻求赞同。
“数学之所以没有太多人投入心力去研究,可不仅仅是因为无法获得世界的反馈,而是因为纯粹的数字游戏很容易像是虚数这样沦为虚无缥缈的理论,变成为了数学而数学的陷阱。”
他的话令众人沉思,的确,理论如果无法应用于指导实践,那么再精妙的理论也没有用处,魔法这么多年来的发展,从来都是遇见问题之后寻求解决方案,而不会浪费精力去探索没有实际意义的知识。
这正是法师的实用主义,效率至上的原则。
在座所有人都看向莱纳,他们想知道莱纳会怎么解释。
“罗杰大人,我想我需要给你普及一下数学知识。”
莱纳走到会议室一侧的黑板旁,拿起了粉笔。
“你、你说什么?”
罗杰被莱纳的态度激怒了,他想要站起身,但理智还是遏制住了他的行为。
莱纳笑了笑,在黑板上划出一条横线,打了一个箭头。
“这是我们在数学上经常用到的数轴,现在我在这里标三个点.-1,0与1,这是整数与负数,最基础的内容,就连六岁的小孩子都知道。”
有些不明所以的几位评审委员看着莱纳继续在数轴上标注,他在0和1之间取了一半,标注了0.5的字样。
“整数无法填满整个坐标轴,因为实际上这上面还有小数,光是0和1之间就有无数的小数,但实际上,到这里,数轴依旧没有被填满。”
莱纳在一旁画了一个正方形,连接了其对角线。
“根号二,这是一个无限不循环的小数,也就是无理数,它同样存在于数轴上,实际上,到了这一步,有理数与无理数已经将整个数轴填满了。”
听完莱纳的话,罗杰才开口说道。
“既然整个数轴都填满了,那么虚数的位置在哪里?难道不在这块黑板上吗?”
他本想调侃一下莱纳,却没想到莱纳点了点头。
“虚数当然不存在于这一条数轴里,不过,至少它存在于这块黑板上。”
“什么?”
就连帕西瓦尔也不禁出声质疑,他又看了一眼那一根数轴,有理数与无理数已经将整根数轴填满,这上面的任何数字,都应该被包含其中。
而那当然不包括虚数。
“虚数,在这里。”
莱纳拿起粉笔,在数轴的0上方,打了一个点。
“开什么玩笑?”
罗杰站了起来,他觉得莱纳是在故意嘲笑他,正准备上前将这个年轻的法师赶下来,却被大熊贝尔拦住了。
“还是听他说完吧,罗杰。”
大熊贝尔觉察到了些什么,看向莱纳。
“虚数i的位置,正是在数轴上方,与原点距离为一个单位长度的地方。”
莱纳的话乍一听有些离奇,但伊戈尔大脑飞转,很快,在他的视野中,那一根数轴变得极为渺小,而整块黑板,在他的眼前展现。
“对啊,单纯的一根数轴没有办法表示平面上所有的点,但如果添加一个轴,就可以建立成为坐标系,表述所有的点了。”
伊戈尔顿悟到,直角坐标系已经深入人心,人们早就接受了用两个数字来表示一个点的坐标,而虚数的存在,就是脱离于过去所有的实际存在的数,将世界拓宽百倍的一根坐标轴!
如此简单明了的概念,没想到在莱纳的演示之前,在座的各位中阶法师竟然一个人都没有想到。
想象力限制了他们的认知!
没看懂的同学可以参考这张图:

“这......”
罗杰能够晋升中阶,自然能领悟到莱纳的意思。
倘若使用虚数来代替纵向的坐标轴,那么数字就可以简单地写成x+xi的形式,同时,以这种形式所表述的点,其进行向量计算的时候,可以直接套用常规的四则运算而不需要使用复杂的坐标计算。
众所周知,直角坐标系与法术模型息息相关,坐标与向量计算更是每个法师的必修课,倘若导入了虚数体系,那么构筑法术模型的效率将会大大提升。
更重要的是,虚数的引入,直接拓展了整个世界的层次,就如同黑板上那一根数轴与整块黑板,到底哪一个更加广阔,不言而喻。
“可这不过只是数学游戏而已,即使没有虚数,坐标计算依旧可以进行,而利用虚数来解释运动方程,实在太过奇怪。”
汉娜质疑道,更方便地构筑法术模型的确是虚数的作用,但魔法应当避免引入不必要的因素,虚数在这里,就是多余的概念。
“各位,我相信你们都知道纽因顿-霍兰德方程组吧?”
莱纳没有回答汉娜的质疑,而是反过来问道。
“当然知道,这是描述电磁场的四个方程组,两位阁下以此证明了光是一种电磁波。”
罗杰答道,有些好奇为什么莱纳突然提起这个。
“你说这些想表达什么?”
“我的意思是,如果我们将虚数的概念代入到这四个方程里,会得到怎样的结论?”
莱纳随即开始在黑板上书写公式,驾轻就熟地将其转化为了带有虚数的形式。
毫无疑问,带有虚数的纽因顿-霍兰德方程更加简洁,也更容易理解。
“我想你们都看到了论文中的那个公式,倘若我们将这个公式带入方程组中,进行计算,就能发现,伴随着时间变化的正弦电磁场,能够直接转化为指数形式,而同时,指数形式的式子,也能展开为三角函数的形式。”
莱纳的解释令几个评审委员都陷入了漫长的思考,因为这话语之间,似乎蕴含着某种令人惊讶的事实。
“......等等,难道说?”
伊戈尔身为风暴议员的一员,时常参与有关光的本质的讨论,他是坚定的波动说支持者,而莱纳的话语,让他的思维迅速飞转,想到了许多。
“西里斯公式与西里斯变换代表的意思是任意指数函数都能够转化为无数个三角函数相加的形式......也就是无数个波的叠加......如果将其反应在现实世界,也就是说......”
喃喃自语般说道,伊戈尔瞪大了双眼,难以想象这些话语是从自己的口中说出来的。
“所有的事物都可以通过级数展开,变成波的叠加形式,这个世界,正是无数的波叠加而成的!??”
“怎么可能......”
罗杰张大了嘴巴,他没有想到,单纯数学上的推论,竟然能够从某种意义上直达世界的本质。
当然,伊戈尔的所有结论都只是猜测,他没有办法从理论或者实验上去证明,自然没办法得到世界的反馈。
但这却是一个极为创新的思路,给致力于探索世界本质的法师们提供了一个全新的方向。
“这的确是一个可能性,或许要交给高阶议会的阁下们才能进行探索。”
莱纳耸肩道,接着继续开口。
“不过这篇论文的价值,我认为到这里已经足够阐明。”
听到莱纳的话,即便是罗杰也沉默了。
虚数,这样一个纯粹数学上的,难以理解的概念,竟然能够通过其窥探到世界本质的冰山一角,这实在是无法想象的。
但这一切又是在众人面前展现出来的,让人无法反驳。
见到反对的声音逐渐平息,莱纳随后说道。
“实际上,这篇论文的完成时间是在十年前,当时,纽因顿-霍兰德方程组并未提出,而这篇论文,也被评判为毫无价值,其作者早已病逝,我是从作者的母亲,一位连字都不认识的老人手里拿到的这篇论文。”
他的话令在座所有人都感到惊讶,要知道,十年前,纽因顿-霍兰德方程组根本就还没被提出,虚数的应用领域几乎为零。
“当时,阅读过这篇论文的人和在座各位的第一反应一模一样,都认为论文的内容毫无价值,因为无法对现实世界起到任何的帮助,不信的话,你们可以问问帕西瓦尔主任,他也是当年见证过这篇论文的人之一。”
莱纳沉声说道,看向帕西瓦尔,这位法师脸色阴郁,一言不发。
“的确,作为一名法师,将精力专注于提升自己的魔法实力没有任何问题,效率至上与实用主义是法师们的准则,为此,花费时间在看似没有意义的数学上,确实是愚者的行为。”
在偌大的会议室里,落针可闻,只有莱纳的声音回荡。
“一个个崭新的法术成果正如盛开在山坡上的花朵,美丽而诱人,但我们也不能忘记,在这绽放的花儿之下,在那泥土之中,还有根的存在。”
他说道,音量逐渐变大,掷地有声。
“如果说元素,炼金,法则等魔法派系是花,那么数学就是这一切的根基,我们不能要求所有的理论都能开出美丽的花,因为有些东西,本来就是根基!用是否有意义,是否能对魔法的发展产生作用来简单评价一些东西,实在太过目光短浅。”
莱纳的话令罗杰等人瞪大了双眼,但在长桌的另一边,一个人却暗暗捏紧了拳头。
是萨弗罗斯。
他独自一人,花费十年的时间编纂了一本可能永远也无法派上用途的词典,这又何尝不是人们口中“毫无意义”的工作呢?
强烈的共鸣在萨弗罗斯的胸口跃动,他感到鼻头有些酸,眼眶中,有点点湿润。
“各位,我们是法师,布拉格斯阁下对于法师的定义,并不是掌握力量之人,而是探究真理之人,或许很多人学习魔法的初衷早就已经改变了,他们为了追求更强的力量,更高的地位,为了追求完美的人生而学习魔法,我没有指责这些人的意思,毕竟这也是人类的追求之一。”
莱纳说道,接着,话锋一转。
“但不要忘记,这个世界上还有人,他们学习魔法,只为了探求心中那一点的疑问,只为了打开那扇真理的大门,这些人本应受到尊敬,但现实却是,许多通过魔法获得了权力与地位的人,反而会去嘲笑这些一心研究的‘愚者’,并且对他们的成果评头品足,甚至认为那些理论是没有意义的。”
他从黑板走到了长桌旁,来到了帕西瓦尔的身边。
“对于这些肆意嘲讽他人研究成果的人,我只想说一句话。”
莱纳顿了顿,接着说道。
“他不配。”
“他不配。”
短短的一句话,令在场所有人都沉默下去。
原本,法师们一开始只是为了了解未知的世界而进行研究,在解析世界本质的时候,得到了许多的成果,令人们的生活变得更加舒适。
但不知道从什么时候开始,在世俗的社会攫取名利却成为了一些法师们的终极目标,当场,为自己谋取更好的生活,沿着前人的道路提升魔法实力是无可厚非的。
可有许多人,享受着前人的成果爬上高位,躺在金钱与名声里享乐的时候,却反而去嘲讽那些依旧为着这个世界变得更好而努力的人。
他们认为那是毫无意义,是徒劳无益,是愚者的行为。
“你这么有天赋,为什么不用来赚更多的钱,爬上更高的位置,为自己谋取更多的利益,反而去研究那些可能终其一生都无法得到解答的问题呢?”这些人问道,却不知道,自己现在的一切,都是过去无数他们所嘲讽的人得来的成果。
所以,他们不配。
我个人认为,作者还是很好的写出了当年关于虚数的历史吧,起码在下是写不出来的。。。
有兴趣的童鞋可以去自己读完整篇文章。书还是很好的。
这是百度百科的定义,有兴趣的可以自己去看
复数的定义为 a=1+1j 或 a=complex(1,1)。
强制转换,名字很好理解,就是强制将某一个类型的数转换成另一个类型的数。(说了和没说一样)
举个栗子
比如说取整,就是把一个float值强制转化为int值。
方法也很简单,格式为:类型名+'('+被转换的变量+')'。
注意,python里取整为向零取整。具体见样例。
a=1.1b=1.5c=-1.1d=-1.5print(int(a),int(b),int(c),int(d))>>>1 1 -1 -1
python为人称道的一个地方就是它内置函数非常多,所以我们就来讲一讲python和数学有关的函数。
上表:
注:使用这些函数时,要在开头写上import math,前面还要加math.
其实是因为python已经帮你写好了所有的函数,但都放在某些库里。在文件开头加入import,就相当于是先和解释器说好:我要调用这个库里的函数了!你先给我看一看!不要到时候我用了你不认识!math.就相当于是和解释器说:看清楚看清楚!我要调用这个库里的文件了!
| 函数 | 返回值(描述) |
|---|---|
| abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
| ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
| exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
| fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
| floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
| log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
| log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
| max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
| min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
| modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
| pow(x, y) | x**y 运算后的值,即 |
| round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
| sqrt(x) | 返回数字x的平方根。 |
补充一些诡异的函数:
随机数函数:
| 函数 | 描述 |
|---|---|
| choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
| randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为1 |
| random() | 随机生成一个实数,它在[0,1)范围内。 |
| seed([x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
| shuffle(lst) | 将序列的所有元素随机排序。 |
| uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
写对拍生成数据最方便了!
三角函数:
| 函数 | 描述 |
|---|---|
| acos(x) | 返回x的反余弦弧度值。 |
| asin(x) | 返回x的反正弦弧度值。 |
| atan(x) | 返回x的反正切弧度值。 |
| atan2(y, x) | 返回给定的 X 及 Y 坐标值的反正切值。 |
| cos(x) | 返回x的弧度的余弦值。 |
| hypot(x, y) | 返回欧几里德范数 sqrt(x*x + y*y)。 |
| sin(x) | 返回的x弧度的正弦值。 |
| tan(x) | 返回x弧度的正切值。 |
| degrees(x) | 将弧度转换为角度,如degrees(math.pi/2) ,返回90.0 |
| radians(x) | 将角度转换为弧度 |
此外,pi和e都是可以使用的,不过也要加上import math和math.
似乎终于介绍完了。。。
不过关于各种函数还要点进超链接到runoob上自己看看,主要看最下面的笔记。因为有些函数就很坑。。。
计算机的运算符似乎和日常生活中的不太一样。。。
| 生活 | python |
|---|---|
| + | + |
| - | - |
| * | |
| / | |
| 整除 | // |
| 乘方 | ** |
| 取模(即返回除法的余数) | % |
数学运算就以上几个了。
举一盒栗子:
a = 21b = 10c = 0c = a + bprint ("1 - c 的值为:", c)c = a - bprint ("2 - c 的值为:", c)c = a * bprint ("3 - c 的值为:", c)c = a / bprint ("4 - c 的值为:", c)c = a % bprint ("5 - c 的值为:", c)# 修改变量 a 、b 、ca = 2b = 3c = a**bprint ("6 - c 的值为:", c)a = 10b = 5c = a//bprint ("7 - c 的值为:", c)
(未完待续)
这个应该不用怎么说了吧。。。
所谓n进制就是满n进1
也就是说每一位的数字可以是0~n-1
从右到左,如果第i位上的数字为,则它表示的数为
以二进制数110为例:
| 位数(从右往左) | 每一位 | 表示的数 |
|---|---|---|
| 1 | 0 | |
| 2 | 1 | |
| 3 | 1 |
所以二进制数110代表的十进制数为6。
表示方法为数字加上括号,右下角写上n
以二进制为例:
转进制的方法介绍一下:
(以十进制和二进制为例)
其实二进制转十进制上面已经介绍过了。所以在这里我们介绍十进制转二进制。
对于一个十进制数n来说,每次记录下当前n%2的值,再将n//2的值保留下来,进行新一轮计算。
以6为例:
6/2=3...0
3/2=1...1
1/2=0...1
所以6的二进制表示即为110
这一章的内容主要是输入输出。。。
来总结一下输入输出的各种方法
输入的一行字符存储在input()中。
赋值时需要将它转化为你想要的格式。
注:<<<表示输入,>>>表示输出
n=int(input())print(n)<<<6>>>6
n=float(input())print(n)<<<6>>>6.0
用split()函数可将它们分开。
split()默认的分隔符是' '。你也可以把分隔符定义为',','-'或者什么别的东西。
也就是说,正常的split()会将"2018 11 2"分成"2018","11","2"
而如果分隔符为'-',则会将"2018-11-2"分成"2018","11","2"
用map可将输入分别存入几个变量。
n,m=map(int,input().split())#将输入分成两部分,强制转换成int,分别赋给n和mprint(n,m)<<<5 6>>>5 6
n,m=map(float,input().split())#将输入分成两部分,强制转换成float,分别赋给n和mprint(n,m)<<<5 6>>>5.0 6.0
y,m,d=map(int,input().split(-))#将输入分成三部分,强制转换成int,分别赋给y,m,d,分隔符为'-'print(y,m,d)<<<2018-11-2>>>2018 11 2
注:想在一行内输入n个数时,有一种比较简洁的方法,一行搞定。详情参见章节2的"打折优惠"一题
这是python最基本的输入输出方法
注意,和C++不一样,python的print函数默认结束时输出回车。
print(6)print(10)print(8)>>>6>>>10>>>8
打印一个列表[^liebiao]时,直接print这个列表的名字就可以。但会输出一些奇怪的东西。。。
a=[1,2,3]#定义一个列表aprint(a)>>>[1,2,3]
如果你想在结束时输出别的东西,可以这么做:
print(6,end=' ')print(10,end=' ')print(8,end=' ')>>>6 10 8
或者这样:
print(6,end=',')print(10,end=',')print(8)>>>6,10,8
其实就相当于print函数原来默认的结束符就是回车,你只是把回车改成了空格或逗号而已。
在输出多个数字且要在中间插入一定字符或保留固定位数时,最好使用C语言的写法,即格式化字符串。
我个人的理解就是在这里占个位置,先说好这里会是一个整数还是一个小数,保留几位输出等等。然后到输出时再到后面的括号里找对应的值放在这个位置上。
先上表:
| 符号 | 描述 |
|---|---|
| %c | 格式化字符及其ASCII码 |
| %s | 格式化字符串 |
| %d | 格式化整数 |
| %u | 格式化无符号整型 |
| %o | 格式化无符号八进制数 |
| %x | 格式化无符号十六进制数 |
| %X | 格式化无符号十六进制数(大写) |
| %f | 格式化浮点数字,可指定小数点后的精度 |
| %e | 用科学计数法格式化浮点数 |
| %E | 作用同%e,用科学计数法格式化浮点数 |
| %g | %f和%e的简写 |
| %G | %f 和 %E 的简写 |
| %p | 用十六进制数格式化变量的地址 |
最常使用的就是%d和%f两个,其余的可以自行尝试
a=6print("%d"%(a))>>>6
a=6.0print("%f"%(a))>>>6.000000
注意,如果对应的变量类型和你预先说好的不一样,比如你原来说这里会来一个float,结果来了一个int,python会把这个int强制转化成float输出。
a=6print("%f"%(a))>>>6.000000
a=6.0print("%d"%(a))>>>6
主要记住两种辅助指令就好:
pi=3.1415926print("%.1f %.2f %.3f"%(pi,pi,pi))>>>3.1 3.14 3.142
pi=3.1415926print("%5.1f %5.2f %5.3f"%(pi,pi,pi))>>> 3.1 3.14 3.142
a=6b=10c=1000print("%5d %5d %5d"%(a,b,c))>>> 6 10 1000
如上,如果要输出的数位数不到要求的位数,则自动用空格补位。
注:python默认四舍五入
在章节3中的时间转换一题中被用到
h,m,s=map(int,input().split())print("%02d:%02d:%02d"%(h,m,s))<<<0 0 1>>>00:00:01
据说这是从python2.6才出现的
大括号代表着一个位置,.format后的括号里是对应的数字
print("{} {}".format("hello", "world")) #不设置指定位置,按默认顺序>>>'hello world'"{0} {1}".format("hello", "world") #设置指定位置>>>'hello world'"{1} {0} {1}".format("hello", "world") #设置指定位置>>>'world hello world'
也可以与各种东西相结合:
print("type:{type},name: {name}".format(type="caiji",name="wcy"))>>> type:caiji,name:wcy# 通过字典设置参数pupil = {"type": "caiji", "name": "wcy"}print("type:{type},name:{name}".format(**pupil))>>> type:caiji,name:wcy# 通过列表索引设置参数my_list = ['caiji', 'wcy']print("type:{0[0]},name:{0[1]}".format(my_list))>>> type:caiji,name:wcy
好了,以后每一节的这里都是你们最期待的答案。。。
题目描述
Calculate a+b
输入格式
Two integer a,b (0<=a,b<=10)
输出格式
Output a+b
输入输出样例
输入样例
1 2
输出样例
3
总思路。。。这种题还需要什么总思路吗。。。
'''这是wcy的代码请不要抄袭虽然我知道你们一定会抄袭。。。'''a,b=map(int,input().split())print(a+b)
题目描述
输出一个“Hello World!"
输入格式
无
输出格式
Hello World!
输入输出样例
输入样例
根本就没有什么输入
输出样例
Hello World!
。。。
'''这是wcy的代码请不要抄袭虽然我知道你们一定会抄袭。。。'''print("Hello World!")
题目描述
把英文字母表的小写字母按顺序和倒序打印出来。(每行13个)
输入格式
无
输出格式
输出四行
输入输出样例
输入样例
根本就没有什么输入
输出样例
abcdefghijklm
nopqrstuvwxyz
zyxwvutsrqpon
mlkjihgfedcba
这道题有两个思路:
可以用暴力:
'''这是wcy的代码请不要抄袭虽然我知道你们一定会抄袭。。。'''print("abcdefghijklm")print("nopqrstuvwxyz")print("zyxwvutsrqpon")print("mlkjihgfedcba")
也可以装逼:
'''这是wcy的代码请不要抄袭虽然我知道你们一定会抄袭。。。'''i=0 #将计数器归零while (i<26): #循环print("%c"%(i+97),end='') #输出第i个小写字母if (i+1==13): #如果已经输出了13个print() #换行i+=1 #计数器加一print() #换行i=25 #将计数器归零while (i>=0): #循环print("%c"%(i+97),end='') #输出第i个小写字母if (25-i+1==13): #如果已经输出了13个print() #换行i-=1 #计数器减一
在这个章节我们将详细地介绍算术运算和赋值语句,尤以赋值语句绕人。。。
所以认真看吧骚年们!
(未完待续)