火柴棍拼成数字0~9,具体拼法如图
要求一:编写程序实现输入任意一个三位数,输出所需火柴棒数量
方法一:字符串加列表
num=input('请输入一个三位数:')
match=[6,2,5,5,4,5,6,3,7,6]
#match=["0":6,"1":2,"2":5,"3":5,"4":4,"5":5,"6":6,"7":3,"8":7,"9":6]
a=int(num[0])
b=int(num[1])
c=int(num[2])
count=match[a]+match[b]+match[c]
print(count)
方法二:数字中取数加列表
num=int(input('请输入一个三位数:'))
match=[6,2,5,5,4,5,6,3,7,6]
#match={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} 可以用字典
a=num%10
b=num//10%10
c=num//100
count=match[a]+match[b]+match[c]
print(count)
要求二:输入火柴棍的数量,输出符合该火柴棍数的三位数组合。
num=int(input('请输入火柴棍数量:'))
match={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
lst=[]
cnt=0
for i in range(100,1000):
a=i%10
b=i//10%10
c=i//100
count=match[a]+match[b]+match[c]
if count==num:
lst.append(i)
cnt+=1
if cnt==0:
print("没有符合条件的三位数")
else:
print(lst)