user_weight=float(input("请输入您的体重(kg)"))
user_height=float(input("请输入您的身高(m)"))
你就照第3行的代码抄啊
在第9行后面加一行,然后后面所有的内容全部都缩进一下
while 1:
user_weight = float(input("")); //
//....
栅栏加密技术是将明文消息写成对角线序列,然后一行一行地产生密文。其简单算法有以下两个步骤:
(1)将明文消息写成对角线序列
(2)将第一步写出的明文读入行序列
下面用一个简单示例来说明栅栏加密技术,假设明文消息为“My name is ZhInen”,将明文消息转换成密文消息的关系图如下:
正如上图所示,明文消息“My name is ZhInen”,通过栅栏加密技术变成“MnmiZIeyaeshnn”。其算法的加密和解密的python代码如下:
#栅栏加密技术
import math
#要加密或者解密的字符串
print('输入明文消息或者密文消息:')
message=input()
#print(message)
#程序是加密(encrypt)还是解密(decrypt)
#mode='encrypt'
mode='decrypt'
#保存可能要加密的字符
symbols='ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
#计数,判断在加密形式下,字母的位置
i=1
#存储消息的加密或者解密形式
translated=''
translated1=''
translated2=''
#获取字符串长度
length=len(message)
halflen=math.ceil(length/2)
#注意只能加解密symbols字符串中的符号
#如果进行加密操作
if mode=='encrypt':
for symbol in message:
if symbol in symbols:
if i%2==1:
translated1=translated1+symbol
elif i%2==0:
translated2=translated2+symbol
i=i+1
#如果进行解密操作
elif mode=='decrypt':
for sum in range(0,halflen):
translated=translated+message[sum]+message[halflen+sum]
#输出translated的字符串
if mode=='encrypt':
print(translated1+translated2)
elif mode=='decrypt':
print(translated)
运行的结果图如下:
加密:
解密: