Python中逗号的用法

2024-09-28 15:23:09 发布

您现在位置:Python中文网/ 问答频道 /正文

在一个论坛里,我发现了一个很好的函数(由Pixie完成),可以将罗马数字转换成阿拉伯数字。你知道吗

def decoder(r):
    k=r
    if r=="":return "Don't leave the input blank"
    roman,s= {"M":1000,"CM":900, "D":500, "CD":400, "C":100, "XC":90, "L":50, "XL":40, "X":10, "IX":9, "V":5, "IV":4, "I":1},0
    while r!="":
        if r[:2] in roman:a,r=r[:2],r[2:]
        elif r[0] in roman:a,r=r[0],r[1:]
        else: return "Enter proper Decimal/Roman number as input"
        s+=roman[a]
    return s if encoder(int(s))==k else "Not a valid Roman Numeral"


a="MCM"
print(decoder (a.upper))

我是Python的超级新手,我不明白这个说法

如果r[:2]在罗马:a,r=r[:2],r[2:]

我知道r[:2]和其他人是字符串切片。我不明白的是逗号的用法: a,r=r[:2],r[2:]看起来像元组,但为什么呢?是作业吗?你知道吗


Tags: 函数ininputreturnifdef论坛else
1条回答
网友
1楼 · 发布于 2024-09-28 15:23:09

Python能够在采样线上指定多个值。。。你知道吗

在本例中,我还将赋值行移到ifelif语句下的一个新的缩进行。你知道吗

if r[:2] in roman:
    a,r = r[:2], r[2:]

elif r[0] in roman:
    a,r = r[0], r[1:]

第一个赋值行与以下内容相同:

a = r[:2]
r = r[2:]

第二个相同:

a = r[0]
r = r[1:]

相关问题 更多 >