鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: nbwubo

[已解决]数列问题求解

[复制链接]
 楼主| 发表于 2022-11-17 13:47:07 | 显示全部楼层

你的程序,大于5的数字的判断条件,用%10 是取到个位数,不能取到最左边的数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-17 14:07:43 | 显示全部楼层
nbwubo 发表于 2022-11-17 13:47
你的程序,大于5的数字的判断条件,用%10 是取到个位数,不能取到最左边的数。

       很有道理,修改代码如下
a , p , d = map(int , input() . split())
e = list(map(int , list(str(a))))
e[- p] = (e[- p] + d) % 10 if e[- p] < 5 else int(str(abs(e[- p] - d))[0])
for k in range(-1 , - p , -1) : e[k] = 0
print(*e , sep = '')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-18 17:57:00 | 显示全部楼层

回帖奖励 +1 鱼币

foo = lambda N, P, D: N - N%(10 ** P) + ((int(str(N)[len(str(N)) - P]) + D)%10 if int(str(N)[len(str(N)) - P]) <= 4 else int(str(int(abs(int(str(N)[len(str(N)) - P]) - D)))[0]) * (10 ** (P - 1)))
print(foo(124987, 2, 523))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-18 18:18:06 | 显示全部楼层

回帖奖励 +1 鱼币

不叫数列,叫列表!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-14 09:23:04 | 显示全部楼层

可以解释下程序代码吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-14 09:23:35 | 显示全部楼层
hveagle 发表于 2022-11-18 18:18
不叫数列,叫列表!

或称之为序列
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-14 09:26:05 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-14 18:36:28 | 显示全部楼层
nbwubo 发表于 2022-12-14 09:23
可以解释下程序代码吗?

# foo 是 lambda 匿名函数
# 其参数有 3 个,分别是 N 表示正整数,P 表示其中位置,D 表示转换整数
# 函数返回如下:
"""
def foo(N, P, D):
    if int(str(N)[len(str(N)) - P]) <= 4:
        # 从数 N 右边开始数,如果第 P 个数是小于 4,则...
        return N - N%(10 ** P) + ((int(str(N)[len(str(N)) - P]) + D)%10 # 这里采用 str() 和 int() 转来转去,因为 str() 方便针对位置做更动
    else:
        # 从数 N 右边开始数,如果第 P 个数是大于 4,则... 
        return int(str(int(abs(int(str(N)[len(str(N)) - P]) - D)))[0]) * (10 ** (P - 1)))
"""
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 07:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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