无法做到且不灵活
我只能将其设为数字。例如:输入3显示000 001 010 ...
a=list('000')
c=''.join(a)
b=111
d=len(a)
while c!=str(b):
chance=1
for i in xrange(d-1,-1,-1):
if(chance==1):
if(a[i]=='0'):
a[i]='1'
chance=0
print a
if(a[i]=='1'):
if(a[i-1]=='1'):
if(a[i-2=='0']):
a[i-2]='1'
a[i-1]='0'
a[i]='0'
chance=0
print a
break`
else:
a[i]='0'
a[i-1]='1'
chance=0
print a
c=''.join(a)
print c
我需要输入1显示0,1。输入2显示00,01,10,11
答案 0 :(得分:0)
这是我的解决方法:
import itertools
digits = '01'
nb_digits = int(input('How many digits each answer should have: '))
print(" ".join("".join(x) for x in itertools.product(digits, repeat=nb_digits)))
要了解它,您需要继续阅读:
itertools.product()
input()
如何帮助您向用户提问int()
将表示整数的字符串转换为简单的整数.join()
方法连接字符串列表