题目:
输入一个2(包含)至9(包含)之间的一位数字例如7(由oj系统自动输入),输出1-100中剔除了包含该数字例如“7”、该数字的倍数例如7的倍数的所有数字,并且⼀行输出10个数字(最后一行可能不足10个数),数字之间用“,”分隔。输出结果如样例所示。
我写的是这样的
x=int(input())
astr=str(x)
alst=[]
count=0
for i in range(1,101):
flag=str(i).find(astr)
if flag==-1 and int(i)%x!=0:
count+=1
alst.append(str(i))
if count%10==0:
print(i,end="\n")
else:
print(i,end=",")
现在问题是
如果最后一行不满10个,就会有个逗号,我不知道该怎么处理最后一个逗号
上网找了一些方法比如 pop strip 试了下都不太行
我想再加个判断句 ,好像也不对
elif alst.index(i)==count-1:
print(i,end="")
麻烦大家帮忙解答,万分感谢
你题目的解答代码如下:
x=int(input())
astr=str(x)
alst=[]
count=0
fiag = False
for i in range(1,101):
flag=str(i).find(astr)
if flag==-1 and int(i)%x!=0:
count+=1
alst.append(str(i))
if fiag:
print(",",end="")
if count%10==0:
print(i,end="\n")
fiag = False
else:
print(i,end="")
fiag = True
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!