用python的while循环来编写2、3、4、5个数字,能组成多少个互不相同且无重复数的三位数,附print输出函数介绍
用python的while循环来编写2、3、4、5个数字,能组成多少个互不相同且无重复数的三位数,以逗号隔开,并另起一行输出个数,如:
234,235,243,245,253,254,324,325,342,345,352,354,423,425,432,435,452,453,523,524,532,534,542,543,
24
解答:
n=0
x=1
while x<=4:
x+=1
y=1
while y<=4:
y+=1
z=1
while z<=4:
z+=1
if (x!=y) and (y!=z) and (z!=x):
print(x,end="")
print(y,end="")
print(z,end=",")
n+=1
print()
print(n)
【其中
print(x,end="")
print(y,end="")
print(z,end=",")
可改为
print("%d%d%d" % (x, y, z),end=",")
或
print(str(x)+str(y)+str(z),end=",")
】
其实本题用for循环来编写更容易
n=0
for x in range(2,6):
for y in range(2,6):
for z in range(2,6):
if (x!=y) and (y!=z) and (z!=x):
print("%d%d%d" % (x, y, z),end=",")
n+=1
print()
print(n)
print输出函数
语法如下:
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数说明如下:
objects:表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。
sep: 用来间隔多个对象。
end: 用来设定以什么结尾。默认(缺省)值是换行符 \n,我们可以换成其他字符。
file: 要写入的文件对象。
设置间隔符的例:
print("www", "baidu", "com", sep=".")
运行结果如下:
www.baidu.com
无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量...都可以直接输出:
list = [1,2,'a']
print(list) #输出列表变量
运行结果如下:
[1, 2, 'a']
数据的格式化输出
符 号 | 描述 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
符号 | 功能 |
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
s='小兵'
x=11
print('%s明年%d岁' %(s,x))
运行结果如下:
小兵明年11岁
while语句
while作为循环语句,当条件成立时一直执行,当条件不成立时退出循环。
while语句格式,如下:
while 条件(即求值为True和False的表达式): #判断句结束一定要加冒号。
代码块 # python使用相同的缩进来标记代码块。
除了条件为假时跳出循环,while也可使用break语句跳出循环,可配合if等语句使用。
有时while子句运行到一半已经达到目的,可使用continue语句,当程序执行遇到continue语句时,会马上跳回到循环开始处,重新对循环条件求值。
for语句
for语句格式如下:
for 一个变量名 in range():
代码块
range()函数可以调用三个参数,分别作为开始、停止和步长参数 。
步长是每次迭代后循环变量增加的值,格式如下:
range([开始值] ,[结束值],[步长值]) #开始值不写默认为0,计数到结束值结束但不包括结束值,步长值不写默认为1
range()函数返回的结果是一个整数序列的对象,而不是列表。但是可以利用 list 函数返回列表。