擅长:python、mysql、java
<p>名称空间冲突。一旦你说<code>data = data()</code>,函数{<cd2>}就消失了,所以当你用<code>values = data()</code>调用它时,你试图调用它之前返回的值。在</p>
<p>试试这个。在</p>
<pre><code>print("Welcome to the game!")
def get_data():
name = input("Give me your name: ")
lname = input("Give me your last name: ")
age = int(input("Give me your age: "))
return (name, lname, age)
def data_check(data):
name, lname, age = data
print("Your name: " + name)
print("Your Last name: " + lname)
print("Your age: " + str(age))
yn = input("The information are true Y/N :")
if yn.lower() == "y":
print("Welcome " + name)
elif yn.lower() == "n":
data_check(get_data())
data_check(get_data())
</code></pre>
<p>请注意我也是</p>
<ul>
<li>删除了分号(在Python中不需要分号)</li>
<li><code>snake_cased</code>函数<code>data_check</code>(这是惯例)</li>
<li>在<code>data_check()</code>中使用元组解包而不是单独赋值,这是一个方便快捷的方法</li>
</ul>