我正在尝试编写一个程序来打印三个元组,但我只成功地只返回了两个。
我想在元组中返回:字符、序数值和字符类型:“字母”、“数字”或“标点符号”。
我已经编写了 if/elif/else 来检查这三个值,但现在不知道如何将它们作为第三个值返回到元组中。
这是我的代码:
def character_info(char):
ord_value = ord(char)
ord_result = ord_value
if char.isdigit():
"number"
elif char.isalpha():
"letter"
else:
"punctuation"
return (char,ord_result)
print character_info("t")
print character_info("3")
print character_info("-")
实际输出:
('t', 116)
('3', 51)
('-', 45)
预期输出
('t', 116, letter)
('3', 51, number)
('-', 45, punctuation)
请您参考如下方法:
如果你写这样的语句:
"number"
这是一个无操作:您只需编写一个文字,但您根本不对该文字执行任何操作。
这里的技巧是将该文字分配给一个变量,然后您可以在 return 语句中使用该变量。例如:
def character_info(char):
ord_value = ord(char)
ord_result = ord_value
if char.isdigit():
<b>chartype = </b>"number"
elif char.isalpha():
<b>chartype = </b>"letter"
else:
<b>chartype = </b>"punctuation"
return (char,ord_result<b>,chartype</b>)
