1.定义一个函数,实现不使用set( ),从列表中删除重复的元素
my_list = [1, 2, 2, 3, 4, 4, 5, 1]
def remove_duplicates(lst):
"""
从列表中删除重复的元素,返回一个不包含重复元素的新列表。
不使用 set() 或类似的高级数据结构。
参数:
lst -- 输入的列表(可能包含重复元素)
返回:
新列表,包含原列表中的所有唯一元素,顺序保持不变。
"""
unique_list = [] # 创建一个空列表来存储不重复的元素
for item in lst: # 遍历原始列表中的每个元素
if item not in unique_list: # 检查元素是否已在新列表中
unique_list.append(item) # 如果不在,则添加到新列表
return unique_list # 返回去重后的列表
# 调用函数
result = remove_duplicates(my_list)
print(result) # 输出: [1, 2, 3, 4, 5]
2.给一个不多于 5 位的正整数(如 a = 12346),求它是几位数和逆序打印出各位数字
# 获取用户输入
num = input("请输入一个不多于5位的正整数: ")
# 输入验证
if not num.isdigit() or len(num) > 5 or int(num) <= 0:
# num.isdigit() 检查输入是否全为数字
# len(num) > 5 检查是否超过5位
# int(num) <= 0 检查是否为正整数(大于0)
print("错误:请输入一个不超过5位的正整数!")
else:
# 计算位数
length = len(num) # 直接获取字符串长度即数字位数
# 逆序打印各位数字
reversed_digits = num[::-1] # 使用切片反转字符串,-1表示步长为负1,即从后向前取值
print(f"该数字是 {length} 位数")
print("逆序打印各位数字:", "-".join(reversed_digits))
# 使用 join() 方法以空格分隔逆序数字
672

被折叠的 条评论
为什么被折叠?



