写博客的目的是为了记录学习,希望能学到想学的东西。
首先从一道例题入手:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
可以用三个for循环列举所有组合,判断是否重复,最后打印输出,如下:
这里print的输出问题很让我困扰。i,j,k三个变量打印时要连接在一起,而且中间没有空格。
通常,字符串可以用“+”和“,”连接:
“+”可以连接两个字符串变量,中间无空格:
“,”以空格形式连接两个字符:
注意加()时,“,”不会被空格代替;
另外如果是数值型变量“+”会输出他们的运算结果而不是连在一起的字符:
在这里正式遇到这种问题。可以先转换数值为字符串然后连接。不过还有另外一种类似C语言的格式化方法:
不过话说C语言还真是坑啊,这么简单的一个程序调试两个小时还不能运行!(C语言小白,不献眼了)
回到正题,“%”为占位符,在字符串中就是表示要被替换的字符/串。有几个“%”后面就要跟几个变量或值(只有一个时“()”可省略)。中间还是用“%”连接。
常见的占位符有:
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
还可以指定对齐方式、数字位数、是否补零、小数点后几位等:
(第一句表示两位整数,不补零和补零,右对齐;第二句表示两位小数点;左对齐为”%-s“,没有用到)
这方面在今天练习中用到不多,所以记录不是很详细,也许日后查到将会补充。
总之,今天练习告一段落,学到想学的东西!再接再励!