0

我一直在尝试制作一个程序来加密您输入的任何消息。目前,每个数字(原始消息的每个字符为 1)以相反的顺序打印在每个数字的单独行上。如果可能的话,我希望将数字打印在同一行上。

到目前为止,这是我的代码:

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

随机变量名称是为了确保它们不太可能被用户输入。

4

2 回答 2

0

您可以使用sys.stdout.write(str(ord(dooblew[whinger]))而不是print语句(当然,您必须import使用sys模块)。

或者,您可以在print语句后添加一个逗号。这将摆脱换行符,但仍用空格分隔每个值。

旁白:随机变量名称有点毫无意义。它们使代码难以阅读,如果用户输入您的变量名称之一,它不会有任何区别。

于 2013-01-27T10:41:25.680 回答
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
于 2013-01-27T10:48:40.453 回答