
昨天第15次做这个题
我们今天能不能对他进行一些修改呢
比如说将我们输入的Welcome to Python加上密文。
或者说不论我输入什么最后都不会变成密文呢???
先直接上没有任何修改的原题内容
print('''Welcome to PythonWelcome to Computer ScienceProgramming is fun
''')
大家可以用单引号,也可以用双引号
print('Welcome to Python')
print('Welcome to Computer Science')
print('Programming is fun')
''')
这两种方式都可以
然后我们现在来做到给他变成密文。
首先我使用的ord()
这是该教材的某一章的内容。我们是在改造所以就不纠结了。
我做了一个代码
text_input= "Welcome to Python"
a= ord(text_input)

毫无疑问出错了。因为他只能一次针对一个字符
那么我们就用循环来帮忙解决一下
for i in textMessage:a = ord(i) print(chr(a), end=" "))

成功了
那么接下来我应该如何给这些字符串挨个加上密文呢
我找到了随机random用它来
import randomfor i in textMessage:ran_num = random.randint(1, 65)a = ord(i) + ran_numprint(chr(a), end=" "))

我添加了随机密文。当然我们也可以简单点。就在每个数后面固定加几个数,和凯撒密码一样
import randomfor i in textMessage:ran_num = 2a = ord(i) + ran_numprint(chr(a), end=" "))

好了接下来我们怎么破解呢
我想了一个不是特别聪明的办法。


但是如果是利用random.randint来弄就有些麻烦了
我想想我该如何获得这次编码时随机赋值了多少数呢??而且我发现我使用的是for循环,那么是不是每一次迭代,他就变换一次随机数呢??


结果很明显每次都是随机的
那么我们不从循环来,从一次来呢。
其实我想,我们是不是取消掉这个随机密文不就可以了。
那取消密文是不是就是确认身份的问题呢
我给他加一个if语句吧


然后每次编完密码要把后面的密钥挨个记住。哈哈
祝大家愉快
