一个计算机面试题的python解法

2024-11-04 01:29:08

1、由于用户输入数字字符串的时候,可能随意的用逗号、空格进行分隔,而且空格的数目可能随意,数字的位数也可能是任意位数,所以,粗暴的使用split分割字符串,可能是错误的。不论用户使用的是什么符号进行分割,都把分隔符号替换为空格;用空格分割字符串,可能出现多个空字符;然后,去除空字符,并把字符串转化为整数。

一个计算机面试题的python解法

2、由于d里面有重复元素,所以,为避免重复元素扰乱输出,把列表的重复元素删掉,并重新排序。

一个计算机面试题的python解法

3、这样,就可以完成给定的题目。无论用户是使用空格分割数字,还是使用逗号(包括中文逗号、英文逗号),都可以返回正确的结果。

一个计算机面试题的python解法

4、但是,一旦用户输入了违规的字符串,比如,除了数字、空格、逗号,还出现了字母,程序就会报错。原因是'3a'不能够转化为整数。

一个计算机面试题的python解法

5、如果用户非得使用字母或者别的非数字字符来分割数字,怎么办?那就用空格替换掉所有的非数字字符。

一个计算机面试题的python解法
猜你喜欢