
题目来源:小行:python练手入门小项目详解(一)
1 给任意一个的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
代码:
def reversed_integer(number):assert type(number) is int, "请输入整数!"integer2string = str(number)n_integer = len(integer2string) # 求它是几位数print(f'{integer2string} 是 {n_integer} 位的整数,其倒序为:', integer2string[-1::-1])
示例:
reversed_integer(43452223)
输出:
43452223 是 8 位的整数,其倒序为: 32225434
2 有数字 1、2、3、4 ,能组成多少个互不相同且无重复数字的三位数?都是多少?
数学毕竟好的人很容易便可以得出:可以组成 nt
代码:
num2string = [str(n) for n in range(1,5)] # 将数字转换为字符串
tri_num = []
for a in num2string:for b in num2string:if a == b: # 跳过前两位相同的数字continuefor c in num2string:if b == c or a == c: # 跳过有两个数字相同的continuetri_num.append(''.join([a,b,c]))
string2num = [int(num) for num in tri_num]
print(string2num)
print(len(string2num))
输出结果:
[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
24