我正在尝试让我的程序打印给定符号中的数字
arv=input("Sisesta arv: ")
suurus=int(input("Sisesta suurus "))
arvulist=list(x.strip() for x in arv)
def rida_V(number):
sektsioon=[]
n=0
kokku= ""
for i in range(len(arv)):
if number[i] in {"0","8","9","4"}:
sektsioon.append("|" + " "*suurus + "|" + " "*suurus)
elif number[i] in {"1","2","3","7"}:
sektsioon.append(" " + " "*suurus + "|" + " "*suurus)
elif number[i] in {"5","6"}:
sektsioon.append("|" + " "*suurus + " " + " "*suurus)
return sektsioon
for i in range(suurus):
print("".join(rida_V(arvulist)))
它打印
Sisesta arv: 1234
Sisesta suurus 4
| | | |
| | | |
| | | |
| | | |
但是我希望它能打印出来
Sisesta arv: 1234
Sisesta suurus 4
| | | | |
| | | | |
| | | | |
| | | | |
为什么在执行另一个循环时它又不通过if语句 我无法解决这个问题。 我该如何解决?
答案 0 :(得分:0)
作为次要建议,请使用列表推导而不是list()
。
这可以从我的命令行正确运行:
arv=input("Sisesta arv: ")
suurus=int(input("Sisesta suurus "))
arvulist= [x.strip() for x in arv]
def rida_V(number):
sektsioon=[]
n=0
kokku= ""
for i in range(len(arv)):
if number[i] in {"0","8","9","4"}:
sektsioon.append("|" + " "*suurus + "|" + " "*suurus)
elif number[i] in {"1","2","3","7"}:
sektsioon.append(" " + " "*suurus + "|" + " "*suurus)
elif number[i] in {"5","6"}:
sektsioon.append("|" + " "*suurus + " " + " "*suurus)
return sektsioon
for i in range(suurus):
print("".join(rida_V(arvulist)))
输出:
Sisesta arv: 1234
Sisesta suurus 4
| | | | |
| | | | |
| | | | |
| | | | |