我想反向打印字符串中的数据。 以下代码段仅适用于一位数字:即它将19翻转到91 ...
def reverse_string(arr):
# Reverse a string quickly
return arr[::-1]
if __name__ == '__main__':
n = int(input())
# str = return string for object input
# " ".join() = drop [] & "" from output
arr = str(" ".join(input().split(" ")))
print((reverse_string(arr)))
将arr [::-1]用于输入的最干净的方法是什么,例如: 4 34 54 110 9
任务: 给定一个由N个整数组成的数组A 以相反的顺序打印A的元素 单行,以空格分隔的数字
输入: N =数组大小 N =描述的以空格分隔的整数
输出格式: 以相反的顺序打印数组A的元素 用空格分隔的数字
示例输入: 5 1 43 3 200 2
示例输出: 2 200 3 43 1
答案 0 :(得分:1)
借助列表理解,您可以将整数形式转换为字符串分割后的数组的所有内容:
arr = "5 1 43 3 200 2"
arr = [int(x) for x in arr.split(" ")[::-1]]
输出(整数列表):
>>> arr
[2, 200, 3, 43, 1, 5]
如果您希望将其作为字符串,只需将其拆分,反转并连接回字符串
arr = "5 1 43 3 200 2"
arr = arr.split(" ")[::-1]
arr = " ".join(arr)
输出:
>>> arr
'2 200 3 43 1 5'
答案 1 :(得分:0)
您不应将输入转换为int。我假设您将只输入用空格分隔的整数,因此以下代码将为您提供帮助:
n = input()
arr = n.split()
print(*reverse_string(arr))
请注意,您可以内联变量n
,因此可以使用arr = input().split()
。这样可以节省一行代码。
答案 2 :(得分:0)
您的代码是正确的主意,但是您应该在将列表反向后将其重新连接到字符串上。
更改:
arr = str(" ".join(input().split(" ")))
print((reverse_string(arr)))
收件人:
arr = input().split(" ")
print(" ".join(reverse_string(arr)))