📅  最后修改于: 2023-12-03 15:42:12.626000             🧑  作者: Mango
这是2021年GATE CS套装2中的问题24。此问题要求编写一个函数,该函数将一个字符串转换为十进制数,并将其作为字符串返回。
编写一个名为 str_to_decimal
的函数,该函数需要将一个字符串作为输入,并将其转换为十进制数。该函数应该返回十进制数的字符串表示形式。如果字符串不是有效的十进制数,则应该返回 "Invalid Input"。
函数原型:
def str_to_decimal(s: str) -> str:
pass
输入为一个字符串 s
,其中 $s$ 的长度不超过 $10^4$。
如果 $s$ 是有效的十进制数,则返回十进制数的字符串表示形式。否则,返回 "Invalid Input"。
输入:
s = "100"
输出:
100
输入:
s = "0100"
输出:
Invalid Input
输入:
s = "abc123"
输出:
Invalid Input
本问题可以采用字符串转化成数字的方法来求解。在Python中,有内置的函数 int()
可以将一个字符串转化成数字,其中 int()
函数的一个参数,代表了将字符串按何种进制进行数字转化。如果 int()
函数无法转化输入的字符串,则会抛出一个异常 ValueError
,我们可以捕获该异常并返回 "Invalid Input"。
def str_to_decimal(s: str) -> str:
try:
decimal = int(s, 10)
return str(decimal)
except ValueError:
return "Invalid Input"
其中,int(s, 10)
的意思是将 $s$ 作为十进制数来转化为整数。如果 $s$ 不是一个合法的十进制数,则会抛出一个 ValueError
异常,我们在 try
块中捕获该异常并返回 "Invalid Input"。如果 int()
函数成功转化字符串,我们使用内置函数 str()
来将转化后的数字转化回字符串。