鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

Python:每日一题 339

[复制链接]
发表于 2020-2-29 23:31:43 | 显示全部楼层
nl2020 发表于 2020-2-29 22:46
a=input('a=')
b=input('b=')
if len(a)>len(b):

点<>这个符号上传代码,在表情符合左边,手机有电脑模式下操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 23:36:17 | 显示全部楼层
秒秒钟出答案。
def solve(a,b):
    la,lb = len(a),len(b)
    if la > lb:b = '0'*(la-lb)+b
    else:a = '0'*(lb-la)+a
    return ''.join([str(int(a[i])+int(b[i])) for i in range(max(la,lb)-1,-1,-1)][::-1])
if __name__ == '__main__':
    print('示例1 输出:',repr(solve('99','111')))
    print('示例2 输出:',repr(solve('2','321')))

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 00:25:41 | 显示全部楼层
本帖最后由 Python3005 于 2020-3-1 00:33 编辑
def fun(s, t):
        result = ''
        if len(s) != len(t):
                s, t = s if len(s) > len(t) else t, s if len(s) < len(t) else t
                t = '0' * (len(s)- len(t)) + t
        for each in range(len(s)):
                result += str(int(s[each]) + int(t[each]))
        return result

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 02:33:57 | 显示全部楼层
def f339(a,b):
    m=max(len(a),len(b))
    a1,b1=a.zfill(m),b.zfill(m)
    return ''.join([str(int(a1[i])+int(b1[i])) for i in range(m)])

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 08:26:24 | 显示全部楼层
kinkon 发表于 2020-2-29 23:31
点这个符号上传代码,在表情符合左边,手机有电脑模式下操作

OK
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 09:46:44 | 显示全部楼层
本帖最后由 yexing 于 2020-3-1 10:04 编辑
def func339(a, b):
    bigger = a if (len(a) >= len(b)) else b
    smaller = a if (bigger == b) else b
    smaller = smaller.zfill(len(bigger))
    s = ""
    for i in range(0, len(bigger)):
        s = s + str(int(bigger[i]) + int(smaller[i]))
    return s

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 12:08:32 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-1 12:18 编辑



应该不会超时:
def func(a, b):
    a, b = list(a), list(b)
    n1, n2 = len(a), len(b)
    result = ""
    while n1 != n2:
        if n1 < n2:
            a.insert(0, 0)
        else:
            b.insert(0, 0)   
        n1, n2 = len(a), len(b)
    for i in range(n1):
        result += str(int(a[i])+int(b[i]))
    return result

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 13:34:52 | 显示全部楼层
进行优化:
a = input('a = ')
b = input('b = ')
c = ''
if len(a) > len(b):
    for i in range(len(a) - len(b)):
        b = '0' + b
else:
    for i in range(len(b) - len(a)):
        a = '0' + a
for i in range(len(a)):
    c += str(int(a[i]) + int(b[i]))
print(c)

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2020-3-1 14:40:58 | 显示全部楼层
a=input('输入一段数字:')
b=input('输入另一段数字:')
while a.isdigit==0:
    a=input('重新输入一段数字:')
while b.isdigit==0:
    b=input('重新输入一段数字:')
def fun1(a,b):
    e=''
    while a//10!=0 or b//10!=0:
        c=a%10
        print(c)
        a=a//10
        d=b%10
        print(d)
        b=b//10
        print(b)
        e=str(c+d)+e
    e=str(a+b)+e
    return e
c=int(a)
d=int(b)
print(fun1(c,d))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

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

使用道具 举报

发表于 2020-3-1 14:44:28 | 显示全部楼层
def result(a,b):
    r = []
    len_a , len_b = len(a)-1 ,len(b)-1
    while len_a >= 0 or len_b>= 0:
        if len_a<0:
            r.append((int)(b[len_b]))
        elif len_b<0:
            r.append((int)(a[len_a]))
        else:
            r.append((int)(a[len_a]) + (int)(b[len_b]))
        len_a -= 1
        len_b -= 1
    while r:
        print(r.pop(),end = '')
a = input('a = ')
b = input('b = ')
result(a,b)

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

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

使用道具 举报

发表于 2020-3-1 14:44:40 | 显示全部楼层
允与慎为 发表于 2020-3-1 14:40
a=input('输入一段数字:')
b=input('输入另一段数字:')
while a.isdigit==0:

输入0也没关系呀,结果就是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 14:45:12 | 显示全部楼层

第一次发代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 17:54:34 | 显示全部楼层
本帖最后由 星小天 于 2020-3-1 22:24 编辑
def fun(a,b):
    if a>b:
        a,b = b,a
    res=""
    while a:
        res=res+str( b%10 + a%10)
        a=a//10
        b=b//10
    res = str(b)+res
    print(res)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 18:39:46 | 显示全部楼层
while True:
        
    a = input("请输入a:")
    b = input("请输入b:")

    sub_num = abs(len(a)-len(b)) 
    cons_num = ""

    if sub_num>0:
        if len(a)>len(b):
            for i in range(sub_num):
                b = "0" +b
        else:
            for i in range(sub_num):
                a = "0" +a

    for i in range(len(a)):
        ab = str(int(a[i]) + int(b[i]))
        cons_num = cons_num + ab

    print(cons_num)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:23:39 | 显示全部楼层
kinkon 发表于 2020-2-29 21:55
这次应该对了吧

25 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:24:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:28:49 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:28:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:29:28 | 显示全部楼层

39 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 19:30:09 | 显示全部楼层

30 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 06:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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