内置函数int ,可以将float,全是数字的字符串转成int 类型的数据
#练习:,将全是由数字组成的字符串转成int类型数据,例如将字符串"432" 转成整数432,函数定义如下
![]()
思路分析:
题目的要求非常明确,只将"432"这种全是由数字组成的字符串转成int类型数据,这样就没什么难度了
遍历字符串,每个将字符串里的每个字符转成int类型的数值,这个过程可以使用字典来完成,建立一个字典,
字符串的数字做key,int类型的数字做value,例如下面的字典
![]()
得到数字后,还得考虑这个数字是哪一位的,是千位还是百位,这里可以使用一个技巧,遍历的过程是从左向右进行的,
设置一个变量保存转换后的int数据,初始值赋为0,每一次循环后,都用这个变量乘10再加上所遍历到数值,这样就巧妙的解决了位数问题。
示例代码:
str_int_dic = { '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9 }
def my_int(string): """ 将字符串string转成int类型数据 不考虑string的类型,默认就是符合要求的字符串 传入字符串"432" 返回整数432 :param string: :return: """ res = 0 for item in string: int_value = str_int_dic[item] #res =0,第一次循环res=4 第二次循环res=4*10+3=43 最后一次循环res=43*10+2=432 res = res*10 + int_value
return res
if __name__ == '__main__': print(my_int('432'))
|