1、将12345转换为54321. 2、将12345转换为‘12345’,不要使用str. 3.将‘12345’转换为12345,不要使用int。

1、将12345转为54321(思路:将一个整数,转成倒序的形式,这里采用算数运算符,同时得到商和余数,我们学习了divmod,恰好可以得到商和余数)
n = int(input('请输入一个整数:'))
ret = 0
while n:
# 利用divmod函数得到商和余数,并且在python中,可以对等赋值
n, last = divmod(n, 10)
# 每次得到的余数与上一个余数的10倍相加,这样一个表达式循环就能得到最终结果
ret = ret * 10 + last
print(ret)


2、将12345转换为'12345',不要使用str(思路:一个整数转为字符串,并且形式一样,那么我们就想到每次得到余数,然后再把余数通过ASCII转为对应的字符)
n=12345
ret = ''
while n:
# 利用divmod函数得到商和余数,并且在python中,可以对等赋值
n,last =divmod(n,10)
# 在每次得到的余数之后,加上48,利用chr函数,求出对应的字符,然后再把字符通过循环拼接
ret =chr(last+48)+ret
print(ret,type(ret))


3、将'12345'转换为12345,不要使用int(思路:一个字符串转换为整数,首先需要把字符串中的每一个字符遍历出来,然后通过ASCII,转为对应的整数)
s = '12345'
ret = 0
for i in s:
ret = ret * 10 + (ord(i) - ord('0'))
print(ret, type(ret))

猜你喜欢

转载自www.cnblogs.com/LJCHSYM/p/10602865.html