题意分析
1.输入int整数,实际接受到的是字符串——使用标准输入stdin注意去除换行符,也可以直接使用input()
2.从右往左阅读 ——倒叙遍历,字符串本身是可迭代对象,直接使用切片 [::-1]
3.返回一个不含重复数字的 ——去重,直接建立列表,遍历的元素不在其中时加入列表
4.返回一个整数——前面我们新建列表接受字符,需要先转换为字符串,在使用int将字符串转换为整型
总结: 在接受字符串后,新建一个列表new_num_list,倒叙遍历字符串,将不在列表的数加到列表中,最后使用join()函数将列表转换为字符串new_num_str,最后使用int()函数转换为整型
代码
import sys # 获取输入的数字,实际输入时为 字符串 for line in sys.stdin: # 去掉字符串后面跟着的换行 input_num = line.strip('\n') new_num_list = [] # 使用range函数,根据字符串的下标,倒叙遍历字符串 # 注意range 是左闭右开区间,因此结束位置需要设置为 -1 for index in range(len(input_num)-1,-1,-1): # 如果字符不存在,就加到新的数字字符列表中 if input_num[index] not in new_num_list: new_num_list.append(input_num[index]) # 将列表中的字符转换为字符串 new_num_str=''.join(new_num_list) # 将字符串转换为整型 new_num = int(new_num_str) print(new_num)