将多个项目打印到一行上

0 投票
2 回答
1911 浏览
提问于 2025-04-17 13:48

我一直在尝试写一个程序,可以加密你输入的任何信息。目前,每个字符对应的数字(也就是原始信息中的每个字符用数字表示)都是反向打印的,并且每个数字都在单独的一行上。我希望如果可以的话,这些数字能打印在同一行上。

这是我目前的代码:

whinger = 0F
bewds = raw_input ('Please enter the message that you wish to encrypt: ')
dooblew = list(bewds)
wetler = len(dooblew)FF
dooblew.reverse();
while whinger < wetler:
    print ord(dooblew[whinger])
    whinger += 1

这些随机的变量名称是为了确保用户不太可能输入这些名称。

2 个回答

0

在Python 2中,你只需要在print后面加一个逗号,这样就可以让print默认不换行。所以在这种情况下,你的写法是

whinger = 0
bewds = raw_input ('Please enter the message that you wish to encrypt: ')
dooblew = list(bewds)
wetler = len(dooblew)
dooblew.reverse();
while whinger < wetler:
   print ord(dooblew[whinger]),
   whinger += 1

而在Python 3中,可以通过下面的方式实现同样的效果

whinger = 0
bewds = raw_input ('Please enter the message that you wish to encrypt: ')
dooblew = list(bewds)
wetler = len(dooblew)
dooblew.reverse();
while whinger < wetler:
   print(ord(dooblew[whinger]), end='')
   whinger += 1
0

你可以用 sys.stdout.write(str(ord(dooblew[whinger]))) 来代替 print 语句(当然,你需要先 import 这个 sys 模块)。

另外,你也可以在 print 语句后面加一个逗号。这样可以去掉换行符,但每个值之间还是会用空格分开。

顺便说一下,这些随机的变量名其实没什么意义。它们让代码变得难以阅读,而且用户输入你的变量名也不会有什么区别。

撰写回答