2017-06-14 35 views
0

我已经创建了一个代码(应该)能够将字符串转换为ascii'代码'。但是,它不会输出我想要的内容。下面是有关的代码:为什么我的'秘密消息/破译'代码不起作用?

if Code_Decode=='C': 
    print("What is your 'Shift number'?") 
    SNum=int(input("> ")) 
    print("What is your message?") 
    msg=input("> ") 
    code=[ord(c) for c in msg] 
    new_code=[x+(SNum) for x in code] 
    print(','.join(str(x) for x in code)) 
else: 
    print("What is your 'Shift number'?") 
    SNum=int(input("> ")) 
    print("Type in your ASCII values, separated by a comma") 
    a = [int(x) for x in input().split(",")] 
    ans=[x-(SNum) for x in a] 
    ans2=[chr(i) for i in ans] 
    print(' '.join(str(x) for x in ans2)) 

用户应该输入一个“移位号”,那么字符串,并且它应该是转换成ASCII码,在移位数添加到每个单独的值。 但是,当我运行代码时,不会添加移位号码。忽略if和else行。
例子:(这是当我运行的代码会发生什么)

Do you want to Create(C) a message, or Decode(D) a message? (C/D)> C 
What is your 'Shift number'? 
> 2 
What is your message? 
> Hello World 
72,101,108,108,111,32,87,111,114,108,100 
Again? Y/N > Y 
Do you want to Create(C) a message, or Decode(D) a message? (C/D)> D 
What is your 'Shift number'? 
> 2 
Type in your ASCII values, separated by a comma 
72,101,108,108,111,32,87,111,114,108,100 
F c j j m U m p j b 

正如你所看到的,方案产出与一些混乱的向上字母。我如何解决它?

+0

对不起格式不好,我是新手。 – AJ123

回答

0
Wrong: print(','.join(str(x) for x in code)) 
Right: print(','.join(str(x) for x in new_code)) 
相关问题