Python中文
首页
教程
问答
标签
搜索
登录
注册
局部变量可能在赋值之前被引用-Python
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我一直在尝试做一个加密和解密系统,但我遇到了一个小错误。这是我的代码:</p> <pre><code> import sys import pyperclip def copy(data): question = input("Copy to clipboard? ") if question.lower() == 'yes' or question.lower() == 'y': pyperclip.copy(data) print("Encrypted message copied to clipboard.") rerun() elif question.lower() == 'no' or question.lower() == 'n': rerun() else: print("You did not enter a valid input.") copy(data) def rerun(): ask = input("\nWould you like to run this program again? ") if ask.lower() == "yes" or ask.lower() == "y": print(" ") run() elif ask.lower() == 'no' or ask.lower() == 'n': sys.exit("\nThank you!") else: print("You did not enter a valid input.") rerun() def encrypt(key, msg): encrypted_message = [] for i, c in enumerate(msg): key_c = ord(key[i % len(key)]) msg_c = ord(c) encrypted_message.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(chr((msg_c + key_c) % 127)) return ''.join(encrypted_message) def decrypt(key, encrypted): msg = [] for i, c in enumerate(encrypted): key_c = ord(key[i % len(key)]) enc_c = ord(c) msg.append(chr((enc_c - key_c) % 127)) return ''.join(msg) def run(): function_type = input("Would you like to encrypt or decrypt a message? ") if function_type.lower() == "encrypt" or function_type.lower() == "e": key = input("\nKey: ") msg = input("Message: ") data = encrypt(key, msg) enc_message = "\nYour encrypted message is: " + data print(enc_message) copy(data) elif function_type.lower() == "decrypt" or function_type.lower() == "d": key = input("\nKey: ") question = input("Paste encrypted message from clipboard? ") if question.lower() == 'yes' or question.lower() == 'y': encrypted = pyperclip.paste() print("Message: " + encrypted) elif question.lower() == 'no' or question.lower() == 'n': encrypted = input("Message: ") else: print("You did not enter a valid input.") run() decrypted = decrypt(key, encrypted) decrypted_message = "\nYour decrypted message is: " + decrypted print(decrypted_message) copy(decrypted) else: print("\nYou did not enter a valid input.\n") run() run() </code></pre> <p>它说<b><i>局部变量“encrypted”可能在赋值之前被引用并突出显示</p> <pre><code> decrypted = decrypt(key, encrypted) </code></pre> <p>在run()函数下。</p> <p>是因为我在其他函数中使用了“encrypted”变量吗?如果是这样,我该如何解决这个问题,并仍然保持我的程序的功能?</p> <p>我对python比较陌生,所以如果您能解释一下您的答案,我将不胜感激。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在<code>run()</code>之前添加<code>encrypted = None</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我是否正确构建了这个递归神经网络
10 回答
我是否正确理解acquire和realease是如何在python库“线程化”中工作的
5 回答
我是否正确理解Keras中的批次大小?
5 回答
我是否正确理解PyTorch的加法和乘法?
9 回答
我是否正确组织了我的Django应用程序?
1 回答
我是否正确计算执行时间?如果是这样,那么并行处理将花费更长的时间。这看起来很奇怪
7 回答
我是否每次创建新项目时都必须在PyCharm中安装numpy?(安装而不是导入)
6 回答
我是否每次运行jupyter笔记本时都必须重新启动内核?
9 回答
我是否用python安装了socks模块?
8 回答
我是否真的需要知道超过一种语言,如果我想要制作网页应用程序?
7 回答
我是否缺少spaCy柠檬化中的预处理功能?
6 回答
我是否缺少给定状态下操作的检查?
10 回答
我是否能够使用函数“count()”来查找密码中大写字母的数量((Python)
4 回答
我是否能够使用用户输入作为colorama模块中的颜色?
6 回答
我是否能够创建一个能够添加新Django.contrib.auth公司没有登录到管理面板的用户?
4 回答
我是否能够将来自多个不同网站的数据合并到一个csv文件中?
1 回答
我是否能够将目录路径转换为可以输入python hdf5数据表的内容?
1 回答
我是否能够等到一个对象被销毁,直到它创建另一个对象,然后在循环中运行time.sleep()
5 回答
我是否能够通过CBV创建用户实例,而不是首先创建表单?(Django)
8 回答
我是否要使它成为递归函数?
7 回答