第一题
#!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
题目1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
'''00
#思路:通过三个for循环实现遍历
# count = 0
# for i in range(1,5):
# for j in range(1,5):
# for k in range(1,5):
# if i != j and i != k and j != k:
# a = i*100 + j*10 + k
# print("互不相同的数为%d"%a)
# count=count+1
# print(count)
#上述代码输出结果比较凌乱,如何管理数据?-列表储存,并通过函数调用
arr = []
def test_1():
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i != j and i != k and j != k:
num = i*100 + j*10 + k
arr.append(num)
print("互不相同的数为%s\n总共%d"%(arr,len(arr))) #注意:print的位置不同,输出的结果不同;%s适合各种类型
test_1()
#函数的魅力:方便调用;不局限于三位数,可以是n位数,只要稍微修改数据
#其他方法(了解)
# arr = []
# import itertools
# temp_arr = list(itertools.permutations([1, 2, 3, 4], 3)) # 排列 # A_4^3 = (4)!/(4-3)! = (4*3*2*1)/1 = 24
#
# arr = [100*t[0]+10*t[1]+t[2] for t in temp_arr] #t 遍历temp_arr的每一个元素,而t[1]代表(1,2,3)的第一个元素
# print(len(arr),arr)
# print(len(temp_arr),temp_arr,temp_arr[0])
我毫无准备的前来,带着虔诚,没有任何技法,一身朴素
浙公网安备 33010602011771号