我想使用python写一个小程序作为练习,使用的是python3。

写的程序是:找出1~300之间,3、6、9的倍数和个位十位百位带3、6、9的数。要想找带3、6、9的数需要用到正则表达式吗?我现在没有思路,各位大神,求教,十分感谢!... 写的程序是:找出1~300之间,3、6、9的倍数和个位十位百位带3、6、9的数。要想找带3、6、9的数需要用到正则表达式吗?我现在没有思路,各位大神,求教,十分感谢! 展开
 我来答
lch743
2016-06-30 · TA获得超过1181个赞
知道小有建树答主
回答量:377
采纳率:50%
帮助的人:367万
展开全部

这个是 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 '
追问
请问条件语句中“”这个是什么意思?
追答
不等于的意思,小于 和 大于。
风与雨的故事
2016-06-30 · TA获得超过405个赞
知道小有建树答主
回答量:359
采纳率:80%
帮助的人:243万
展开全部
#说明一下: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))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
方记普
2016-06-30 · TA获得超过256个赞
知道小有建树答主
回答量:287
采纳率:75%
帮助的人:97.4万
展开全部
for i in range(1,301):

if i%3 == 0:

print(i)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式