我想使用python写一个小程序作为练习,使用的是python3。
写的程序是:找出1~300之间,3、6、9的倍数和个位十位百位带3、6、9的数。要想找带3、6、9的数需要用到正则表达式吗?我现在没有思路,各位大神,求教,十分感谢!...
写的程序是:找出1~300之间,3、6、9的倍数和个位十位百位带3、6、9的数。要想找带3、6、9的数需要用到正则表达式吗?我现在没有思路,各位大神,求教,十分感谢!
展开
展开全部
这个是 python2.7 的代码,如果是 python3.x 的话,改一下 print 函数就好。
if __name__ == '__main__':
list_three = []
list_six = []
list_nine = []
for i in range(1, 301):
if i % 3 == 0 or str(i).find('3') <> -1:
list_three.append(i)
if i % 6 == 0 or str(i).find('6') <> -1:
list_six.append(i)
if i % 9 == 0 or str(i).find('9') <> -1:
list_nine.append(i)
print '3 output: '
for item in list_three:
print item,
print ''
print '6 output: '
for item in list_six:
print item,
print ''
print '9 output: '
for item in list_nine:
print item,
print '
追问
请问条件语句中“”这个是什么意思?
追答
不等于的意思,小于 和 大于。
展开全部
#说明一下:18是369的最小公倍数,取模。再匹配是不是全部数字为369。最后300以内只有36正确。
import re
RegEx = re.compile('^[369]+$')
for i in range(3001):
if (i % 18) == 0:
if RegEx.match(str(i)):
print('正确' + str(i))
else:
print('不包含' + str(i))
import re
RegEx = re.compile('^[369]+$')
for i in range(3001):
if (i % 18) == 0:
if RegEx.match(str(i)):
print('正确' + str(i))
else:
print('不包含' + str(i))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for i in range(1,301):
if i%3 == 0:
print(i)
if i%3 == 0:
print(i)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询