Python 如何打印没有空格的凯撒密码?
我试图打印他们的消息,从这个程序没有空格,但它总是给我之间的每一个字母的空间Python 如何打印没有空格的凯撒密码?,python,printing,Python,Printing,我试图打印他们的消息,从这个程序没有空格,但它总是给我之间的每一个字母的空间 import string character = [] message = raw_input('What is your message? ').lower() shift = raw_input('What is your shift key? ') type = raw_input('Would you like to cipher(c) or decipher(d)? ') for character in
import string
character = []
message = raw_input('What is your message? ').lower()
shift = raw_input('What is your shift key? ')
type = raw_input('Would you like to cipher(c) or decipher(d)? ')
for character in message:
if str(type) == 'd':
number = ord(character) - int(shift)
if number <= 96:
number = ord(character) + 26 - int(shift)
if str(type) == 'c':
number = ord(character) + int(shift)
if number >= 122:
number = ord(character) - 26 + int(shift)
character = chr(number)
print(character),
导入字符串
字符=[]
message=原始输入('您的消息是什么?')。lower()
shift=原始输入(“您的shift键是什么?”)
type=raw_input('您想加密(c)还是解密(d)')
对于消息中的字符:
如果str(type)=“d”:
数字=ord(字符)-整数(移位)
如果数字=122:
数字=ord(字符)-26+int(移位)
字符=chr(数字)
打印(字符),
是否有人知道如何在句子中打印,以便我可以复制消息并接收它?请在打印语句末尾去掉逗号。当然,那么每个字符都将位于单独的行上
可能最好将字符组合成一个字符串,可以一次打印所有字符。在print语句末尾去掉逗号。当然,那么每个字符都将位于单独的行上 最好将字符组合成一个字符串,可以一次打印所有字符。添加
from __future__ import print_function
到程序顶部,然后更改
print(character),
到
这是
如果没有第一行,您实际上正在打印(character)
,这是一个表达式,其结果是character
,因此它基本上是打印character,
。通过导入,print…
将更改为print(…)
,并使用额外的参数来提供更多的控制
注意,这在非常旧的python版本上不起作用。您可能需要2.6或更高版本
[你好,斯科特!]添加
from __future__ import print_function
到程序顶部,然后更改
print(character),
到
这是
如果没有第一行,您实际上正在打印(character)
,这是一个表达式,其结果是character
,因此它基本上是打印character,
。通过导入,print…
将更改为print(…)
,并使用额外的参数来提供更多的控制
注意,这在非常旧的python版本上不起作用。您可能需要2.6或更高版本
[hi scott!]您可以使用
sys.stdout.write(character)
打印单个字符,不带空格或换行符,就像C的putchar
一样
例如:
import string
import sys
character = []
message = raw_input('What is your message? ').lower()
shift = raw_input('What is your shift key? ')
type = raw_input('Would you like to cipher(c) or decipher(d)? ')
for character in message:
if str(type) == 'd':
number = ord(character) - int(shift)
if number <= 96:
number = ord(character) + 26 - int(shift)
if str(type) == 'c':
number = ord(character) + int(shift)
if number >= 122:
number = ord(character) - 26 + int(shift)
character = chr(number)
sys.stdout.write(character),
print ""
导入字符串
导入系统
字符=[]
message=原始输入('您的消息是什么?')。lower()
shift=原始输入(“您的shift键是什么?”)
type=raw_input('您想加密(c)还是解密(d)')
对于消息中的字符:
如果str(type)=“d”:
数字=ord(字符)-整数(移位)
如果数字=122:
数字=ord(字符)-26+int(移位)
字符=chr(数字)
系统标准写入(字符),
打印“”
您可以使用sys.stdout.write(character)
打印单个字符,不带空格或换行符,就像C的putchar
一样
例如:
import string
import sys
character = []
message = raw_input('What is your message? ').lower()
shift = raw_input('What is your shift key? ')
type = raw_input('Would you like to cipher(c) or decipher(d)? ')
for character in message:
if str(type) == 'd':
number = ord(character) - int(shift)
if number <= 96:
number = ord(character) + 26 - int(shift)
if str(type) == 'c':
number = ord(character) + int(shift)
if number >= 122:
number = ord(character) - 26 + int(shift)
character = chr(number)
sys.stdout.write(character),
print ""
导入字符串
导入系统
字符=[]
message=原始输入('您的消息是什么?')。lower()
shift=原始输入(“您的shift键是什么?”)
type=raw_input('您想加密(c)还是解密(d)')
对于消息中的字符:
如果str(type)=“d”:
数字=ord(字符)-整数(移位)
如果数字=122:
数字=ord(字符)-26+int(移位)
字符=chr(数字)
系统标准写入(字符),
打印“”
你能解释一下怎么做吗?当然可以,但安德鲁的主意更好。在循环之前设置一个新变量,例如line=“”
;然后将打印内容替换为行+=字符
;最后,在循环之后,打印行
你能解释一下怎么做吗?当然,但是安德鲁的想法更好。在循环之前设置一个新变量,例如line=“”
;然后将打印内容替换为行+=字符
;最后,在循环之后,打印行
这个问题可能应该删除加密标记并添加一些语言标记。@ThomasM.DuBuisson有一个28k的代表,您应该能够自己编辑(无论如何,已更改)(好的附加答案顺便说一句)。这个问题可能应该删除加密标签,并添加一些语言标签。@ThomasM.DuBuisson与一个28k的代表,你应该能够编辑自己(无论如何,改变)(好的额外答案顺便说一句)。