无重复的三位数

今天的问题是:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

简单暴力的做法(不建议)

sum = 0
for i in range (1,5):
   for j in range (1,5):
       for k in range(1,5):
           if(i != j) & (i != k) & (j != k):
               x= i * 100 + j * 10 + k * 1
               sum += 1
               print(x)
           else:
               continue
print('总共有{}个不同的数字'.format(sum))

顺带预习一下(不是 )

range

range(stop) : 0 ~ stop-1

range(start, stop) start ~ stop-1

ramge(start, stop,step) start ~ stop-1 step为步长

 

print输出方式

  1. % 方式

    a = 18
    print("我永远%d岁" % a)

    #我永远18岁

    b = "紫色"
    print("今天穿了%s的衣服" % b)

    #今天穿了紫色的衣服
  2. format 函数


    sum = 24
    print('总共有{}个不同的数字'.format(sum))
    #总共有24个不同的数字
    #中间是点运算符,因为调用的是字符串对象的方法

    print("我喜欢{}和{}".format("羽毛球","跑步","独处")
    #我喜欢羽毛球和跑步
    #花括号的个数决定了参数的个数,花括号的个数不能多于参数的个数,但是可以少于参数的个数
         

    通过数字参数传入位置参数

    • 可以通过索引的形式进行一一取值

    • 设置参数、通过字典设置参数、通过列表索引设置参数

    print("名字{0},家住{1}".format("菜菜","地球村"))
    #名字菜菜,家住地球村

    print("名字{1},家住{0}".format("菜菜","地球村"))
    #名字地球村,家住菜菜


    #通过列表索引设置参数
    list1 = ["百度","https://www.baidu.com/"]
    print("name: {0[0]},url:{0[1]}".format(list1))
    list2 = ["CSDN","https://www.csdn.net/"]
    print("name:{1[0]},url:{1[1]}".format(list2))

    #name: 百度,url:https://www.baidu.com/
    #name:CSDN,url:https://www.csdn.net/

     

    借鉴的两种做法:

     

     

     

    运用countine,跳出这次循环,继续进行下一次循环。因为要求无重复所以当i=j,填出循环;i != j时,j= k又会跳出循环。

posted @ 2022-03-28 00:08  喜东东594  阅读(93)  评论(0)    收藏  举报