我将两个整数的字符串转换为元组。我需要确保我的字符串格式化为:
"<int1>,<int2>"
这与先前的问题不重复。由于这没有解决我之前不知道的限制。我的参数将是&#34; 4,5&#34;例如。我不允许编写其他帮助函数来检查它们是否格式正确。必须在名为convert_to_tuple
的单个函数中完成检查我只是再次查看了项目规范,我不允许导入任何新模块,所以正则表达式已脱离桌面。我也不允许使用try / catch。
你能指出我的写作方向吗?感谢
这是我将字符串转换为元组的代码。所以我需要某种类型的检查来执行这段代码。
if foo:
s1 = "12,24"
string_li = s1.split(',')
num_li = [int(x) for x in string_li]
num_tuple = tuple(num_li)
return num_tuple
else:
empty_tuple = ()
return empty_tuple
答案 0 :(得分:0)
这有用吗? (编辑符合OP的要求)
def is_int(string):
return string and set(string).issubset(set('1234567890'))
def check_str(s):
parts = s.split(',', 1)
return len(parts) == 2 and is_int(parts[0]) and is_int(parts[1])
答案 1 :(得分:0)
我相信测试(没有转换,没有正则表达式或异常处理)一个简单的:
vals = s1.split(',')
if len(vals) == 2 and all(map(str.isdigit, vals)):
将验证有两个组件,它们都是非空的,仅由数字组成。