Pythonの多数の追加

文字列の形式で2つの数値を読み取り、それらの合計を計算する関数を記述して、文字列の形式で返します。
(文字列の長さは100000以下であり、文字列は「0」から「9」までの10文字のみで構成されることが保証されています)

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 计算两个数之和
# @param s string字符串 表示第一个整数
# @param t string字符串 表示第二个整数
# @return string字符串
#
class Solution:
    def solve(self , s , t ):
        maxlen = len(s)
        if maxlen < len(t):
            maxlen = len(t)
        s = s.zfill(maxlen)
        t = t.zfill(maxlen)
        shiwei = 0
        sum = ''
        for i in range(-1,-maxlen-1,-1):

            temp= ord(s[i]) +ord(t[i]) - 96 + shiwei
            if temp >= 10:
                shiwei = 1
                temp = temp - 10
            else:
                shiwei=0
            sum+=str(temp)
        if shiwei != 0:
            sum+=str(shiwei)
        return sum[::-1]

主なポイント

  • zfill関数の使用:右揃えの塗りつぶし
  • range(-1、-maxlen-1、-1):意味、最後のビットから開始
  • ord(s [i])関数の意味;文字列をASCIIコードに対応する数値に変換します。純粋な数値の場合は、-48が必要です。
  • [::-1]意味:文字列を逆に出力します。

テスト:

s="733064366"
t="459309139"
print(s)
print(t)

maxlen = len(s)
if maxlen < len(t):
    maxlen = len(t)

s = s.zfill(maxlen)
t = t.zfill(maxlen)

print(s)
print(t)
# print(maxlen)
shiwei = 0
sum = ''
for i in range(-1,-maxlen-1,-1):
    #print(i)
    temp= ord(s[i]) +ord(t[i]) - 96 + shiwei
    if temp >= 10:
        shiwei = 1
        temp = temp - 10
    else:
        shiwei=0
    sum+=str(temp)
if shiwei != 0:
    sum+=str(shiwei)
print(sum[::-1])

おすすめ

転載: blog.csdn.net/mao_hui_fei/article/details/114305236