个人技术分享

[编程入门]数字逆序输出
时间限制: 2s 内存限制: 192MB 提交: 52543 解决: 34131
题目描述
输入10个数字,然后逆序输出。
输入格式
十个整数
输出格式
逆序输出,空格分开
样例输入
复制
1 2 3 4 5 6 7 8 9 0
样例输出
复制
0 9 8 7 6 5 4 3 2 1
提示


解法一

nums = list(map(int, input().split()))
nums.reverse()
for num in nums:
    print(num, end=" ")

以下是详细的过程解释:

  1. nums = list(map(int, input().split())):通过 input().split() 获取用户输入的以空格分隔的一串数字字符串,并将其分割成一个字符串列表。然后使用 map(int,...) 将每个字符串转换为整数,最后用 list() 函数将结果转换为整数列表 nums
  2. nums.reverse():使用列表的 reverse() 方法将 nums 列表进行逆序操作。
  3. for num in nums: 遍历逆序后的列表 nums
  4. print(num, end=" "):逐个输出每个数字,并在数字之间添加一个空格。

解法二

# 获取用户输入的数字字符串
num_str = input()
# 定义一个空列表用于存储数字
num_list = []

# 遍历数字字符串
for char in num_str:
    # 如果字符是数字,就将其转换为整数并添加到列表中
    if char.isdigit():  # 判断是否为数字字符
        num_list.append(int(char))

# 定义一个用于交换元素位置的临时变量
temp = 0
# 从列表两端开始,逐步交换元素位置实现逆序
for i in range(len(num_list) // 2):  # 只遍历一半的长度
    temp = num_list[i]  # 暂存当前元素
    num_list[i] = num_list[len(num_list) - 1 - i]  # 当前元素与对称位置元素交换
    num_list[len(num_list) - 1 - i] = temp  # 对称位置元素赋值为暂存值

# 输出逆序后的数字,空格分隔
for num in num_list:
    print(num, end=" ")