这里是Python的新手! 有人能帮我做个小任务吗? 我需要写一个算法,可以打印0到100之间的所有数字。 除了能被10整除的数,比如10,20,30,40……。 还有所有包含3的数字,如3,13,23,30,33.。。等等
我得到了可被10整除的部分,但是排除所有包含3的数字会让我卡住:(
请帮帮我!!!!
for i in range (1,100):
if i %10 and i[0] != 3:
pass
print (i)
你可以试试
for i in range (1,100):
if i %10 and '3' not in str(i):
print(i)
此循环将不打印数字模10返回0的数字,它将把每个数字转换为字符串,以检查它是否包含3个init.
您可以在一行中执行此操作,并通过列表理解将列表解包为print语句。
print(*[i for i in range (1,100) if i %10 and '3' not in str(i)], sep="\n")
您对i[0]
的使用是错误的,i
是一个int对象,它不是Subscripble:
for i in range (1,100):
if i %10 == 0 or '3' in str(i):
continue
print (i)
只需在数字字符串中搜索3,现在工作很酷
for i in range (1,100):
if i %10 and str(i).find("3") == -1:
pass
print (i)