我正在创建一个代码,它会根据我们的alp字符串中的位置将消息放入数字中,并添加给定键号的值。 例如,如果我想编码" HI"密钥代码为2,它将是9 10.因为H的位置是7,我的位置是8,我们在每个数字位置加2。 每次我运行它,我得到错误" Int不可迭代":
//RTMP
public void onStreamDestroy(IMediaStream stream) {
if ( stream.getClient() != null){
IOPerformanceCounter perf = stream.getMediaIOPerformance();
Long outbytes = perf.getMessagesOutBytes();
}
}
//HTTP
public void onHTTPSessionDestroy(IHTTPStreamerSession httpSession) {
if ( httpSession != null){
IOPerformanceCounter perf = httpSession.getIOPerformanceCounter();
Long outbytes = perf.getMessagesOutBytes();
}
}
//RTP
public void onRTPSessionDestroy(RTPSession rtpSession) {
if ( rtpSession != null){
IOPerformanceCounter perf = rtpSession.getIOPerformanceCounter();
Long outbytes = perf.getMessagesOutBytes();
}
}
然而,我试图将其更改为:
def main():
message=input("Enter your message to code: ")
key=int(input("What is the key value?"))
alp="ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz0123456789 .,?!"
for letters in message:
inString=int(alp.index(letters))
print(inString)
for numStr in inString:
code=numStr+key
print(code)
这一次,我得到了
def main():
message=input("Enter your message to code: ")
key=int(input("What is the key value?"))
alp="ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz0123456789 .,?!"
for letters in message:
inString=int(alp.index(letters))
print(inString)
for numStr in str(inString):
code=(int(numStr)+key)
print(code)
main()
我做错了什么?
答案 0 :(得分:1)
您应该使用列表来存储数字,然后您可以遍历该列表。
inString = []
for letters in message:
inString.append(int(alp.index(letters)))
#print(inString)
for numStr in inString:
code=(int(numStr)+key)
print(code)
您获得的7和8输出是正确的索引。但是,您的inString
在每个循环中都被覆盖了。所以最后inString
只等于8,最后一个for循环只运行一次,值为8。