擅长:python、mysql、java
<p>变量<code>U</code>的作用域位于函数之外。在函数块中赋值<code>U = HashC</code>时,该块将其赋值给<code>U</code>,但在本例测试中,当函数块退出时,<code>U</code>恢复为其值<code>input()</code>。这与C中的传递值类似,只有在这里<code>U</code>对函数块可见,而没有显式地传递给它。此外,您必须将该值存储在<code>U</code>中,因为字符串是不可变的,尽管您没有对<code>string</code>进行更改</p>
<p>因此,您应该执行以下操作:</p>
<pre><code>def Hash (string):
for x in range(0, len(string)):
if x == 0:
HashC = str(ord(string[x:x+1]))
else:
HashC = HashC+str(ord(string[x:x+1]))
print(HashC)
return HashC
U = input("What do you want to hash? ")
U = Hash(U)
print(U)
</code></pre>