鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 1

  [复制链接]
发表于 2020-3-18 11:21:06 | 显示全部楼层
a_list = [1,2,3,4]
for one in a_list:
    for two in a_list:
        for three in a_list:
            if one != two and one != three and two != three:
                print(one,two,three,sep='')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-22 14:16:46 | 显示全部楼层
for a in range(1,5):
     for b in range(1,5):
          for c in range(1,5):
               if a !=b and a!=c and  b !=c:
                   print(a,b,c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 18:33:38 | 显示全部楼层
a=[1,2,3,4]
b=[]
for i in a:
    for j in a:
        for k in a:
            if i!=k and i!=j and j!=k:
                b.append(i*100+j*10+k)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-2 20:09:19 | 显示全部楼层
学习input()函数及IF语句的使用
temp = input('请输入1——100的任意数字,以评判你的审美标准: ')
#规范用户输入,将其输入取整保存
number = int(temp)
if  100>=number>=80:
        print('你妹好漂亮')
elif number < 80:
        print("你真丑")
else:
#根据用户输入计算总计多少秒
        temp_1 = input('请输入需要计算的天数:')
        day = int(temp_1)
        hours =  24
        minutes = 60
        sec = 60
        second = day*hours*minutes*sec
        print(second)
print ("这是365天第一天的作业")
for i in range(1,5):
        for j in range(1,5):
                for k in range(1,5):
                        if i!= k and i != j and  j!= k:
                                print(i,j,k)

list = []
for i in range(1,5):
        for j in range(1,5):
                for k in range(1,5):
                        if i!= k and i != j and  j!= k:
                                a = 100*i+10*j+k
                                list.append(a)
print(list)
print(len(list))       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 09:59:40 | 显示全部楼层
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if (i != j) and (j != k) and (k != i):
                print(i, j, k)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 09:04:16 | 显示全部楼层
如果0123捏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 09:37:43 | 显示全部楼层
num = 0
for i in range(1, 5):
    for j in range(1, 5):
        if i == j:
            continue
        else:
            for m in range(1, 5):
                if (i == m) | (j == m):
                    continue
                else:
                    print(i, j, m)
                    num = num + 1
print(num)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 21:27:48 | 显示全部楼层
python中支持几进制?比如:二进制之类的(我是新手,不会调改进制)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 21:48:52 | 显示全部楼层
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if a != b and a != c and b != c:
                print(a*100+b*10+c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 16:28:08 | 显示全部楼层
本帖最后由 雁过无痕y 于 2020-4-18 16:29 编辑
list = [1,2,3,4]
values = []

for i in range(0, len(list)):
    for j in range(0, len(list)):
        for k in range(0, len(list)):
            if i != j and j != k and i != k:
                value = list[i]*100+list[j]*10+list[k]
                values.append(value)

print(values)
虽然写得丑,也打个卡吧

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-22 15:35:11 | 显示全部楼层
print("___________2020年4月22日___________")

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:
                print(i,j,k)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:23:39 | 显示全部楼层
我把这个问题又改进了一下,可以实现自定义连续数字的自定义位数的排列组合,并且判断输入是否合理,并输出结果。
请大佬们品评,是否有更好的可以改进的地方:

q=1#判断值,等于则会运行;

while q==1:
    #输入开始和结束的数字,换为整型;
    import itertools
    x=input("开始数字:")
    y=input("结束数字:")
    x=int(x)
    y=int(y)
    #判断输入是否合理,说明输入数字区间;
    while y < x:
        y=input("结束数字不能小于开始数字,请重新输入:")
        y=int(y)
    x=str(x)
    y=str(y)
    print("排列组合的范围是("+ x + ","+ y +")\n")
    x=int(x)
    y=int(y)
    #输入排列组合的位数,判断是否合理,并说明;
    z=input("排列组合位数(输入0为全排列):")
    z=int(z)
    while (z != 0) and (1 > z ) and ( z > (y-x+1)):
        z=input("输入的组合位数不合理,请重新输入位数:")
        z=int(z)
    z=str(z)
    x=str(x)
    y=str(y)
    print("排列组合的范围是("+ x + ","+ y +"),排列位数是"+z+"\n")
    #进行排列组合,计算数量;
    x=int(x)
    y=int(y)
    z=int(z)
    if 1 <= z <=(y-x+1):
        m=z
    else:
        m=y-x+1
    a=range(x,y+1)
    s=list(itertools.permutations(a,m))
    l=len(s)
    #输出结果;
    x=str(x)
    y=str(y)
    z=str(z)
    l=str(l)
    print("("+ x + ","+ y +")的"+z+"位数排列组合共有"+l+"种,分别是:")
    print(s)
    #是否再次运行;
    q=input("\n继续请按1,否则退出:")
    q=int(q)
print("结束!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 08:15:57 | 显示全部楼层
Lst = [1,2,3,4]
count = 0
for i in Lst:
    for j in Lst:
        for m in Lst:
            if i != j != m:
                count +=1
                print(i * 100 + j * 10 + m)
print('一共有 %d 种组合' % count)
            
               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 09:43:51 | 显示全部楼层
if i != k and i != j and j != k:
新人看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 09:27:44 | 显示全部楼层
a = ['1','2','3','4']
for x in a:
    for y in a:
        for z in a:
            if x !=y != z != x:
                print(x+y+z)
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-8 09:00:38 | 显示全部楼层
number = 0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i != j and (j != k and i != k):
                print i,j,k
                number += 1
print('可以组成%d个不同的数字!')%number
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 11:11:47 | 显示全部楼层
#  题目,有四个数字,1,2,3,4,能组成多少个互不相同的数,各是多少?
list1 = ["1","2","3","4"]
list2 = []
for x in list1:
    for y in list1:
        for z in list1:
            list2.append(int(x+y+z))
print(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-21 14:26:23 | 显示全部楼层
count = 0
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if i != k and i != j and j != k:
                count += 1
                print('%d%d%d' % (i, j, k))
print('有%d个' % count)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-27 15:12:28 | 显示全部楼层
'''
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
'''
#首先定义一个数组存放1,2,3,4
number = [1,2,3,4]
#再次定义一个数组存放互不相同且无重复的数字的三位数
result = []
lenth = len(number)
print(lenth)
for i in number:
    for j in number:
        for k in number:
            amount = i*100+j*10+k
            print(amount)
            result.append(amount)
print(len(result))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 17:20:50 | 显示全部楼层
s = 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:
                a = i*100+j*10+k
                print(s,a,sep=" ")
                s = s+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 09:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表