鱼C论坛

 找回密码
 立即注册
查看: 3352|回复: 5

数字中有4,该如何表达

[复制链接]
发表于 2022-12-30 13:25:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
例如 4,14,24,34等正整数中含有4的数字,python中用什么式子表达
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-30 13:32:56 | 显示全部楼层
>>> x = 123
>>> '4' in str(x)
False
>>> x = 1234
>>> '4' in str(x)
True
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-30 13:44:12 | 显示全部楼层

如果是一个范围内所有含4的数字呢,比如100中含有4的所有数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-30 13:45:21 | 显示全部楼层
爱意随风起9306 发表于 2022-12-30 13:44
如果是一个范围内所有含4的数字呢,比如100中含有4的所有数字

可以使用列表推导式求出
>>> [i for i in range(100) if '4' in str(i)]
[4, 14, 24, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 54, 64, 74, 84, 94]
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-30 13:48:05 | 显示全部楼层
本帖最后由 hveagle 于 2022-12-30 13:49 编辑
for i in range(100):
    if '4' in str(i):
        print(i)
这因该学过循环都会吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-30 17:53:00 | 显示全部楼层
本帖最后由 jackz007 于 2022-12-30 17:54 编辑

        表达不了
def foo(n):
    d = []
    for x in range(1 , n + 1):
        e , f = x , False
        while not f and e:
            if e % 10 == 4 : f = True
            else : e //= 10
        if f : d . append(x)
    return d

print(foo(100))
        运行实况:
D:\[00.Exercise]\[Python]>python x.py
[4, 14, 24, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 54, 64, 74, 84, 94]

D:\[00.Exercise]\[Python]>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表