我的标志值未按预期返回 false 或 true
My flag value is not returning false or true as expected
我正在尝试验证我选择的数字列表是否在所有元素中都有不同的数字。如果列表中的所有值都不同,我将标志变量设置为 true,否则设置为 false。但是我的函数返回零而不是真或假。我知道我将标志变量初始化为零,因为我需要在函数开始时定义相同的变量
我已经想出了一个代码,但我的函数返回零。我的 for 句子没有被迭代
v=[]
def creat_function():
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
print(creat_function())
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
print(diferences(v))
您需要获取从 creat_function
获得的列表输出并将其传递给 diferences
函数
def creat_function():
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
#Get list from creat_function
v = creat_function()
#Pass it to diferences
print(diferences(v))
更新:如果你真的想使用global,可以按如下操作
v=[]
def creat_function():
#v is global
global v
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
def diferences():
# v is global
global v
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
#Get list from creat_function
creat_function()
#Pass it to diferences
print(diferences())
输出将是
number of elements
5
digit a number
1
digit a number
2
digit a number
3
digit a number
4
digit a number
5
True
number of elements
5
digit a number
1
digit a number
1
digit a number
2
digit a number
3
digit a number
3
False
看起来他假设 v 是全局的并且他不必在 v 中存储 return 值。
为了访问全局变量,我们需要使用 global 关键字
v=[]
def creat_function():
global v
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
print(creat_function())
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
print(diferences(v))
我正在尝试验证我选择的数字列表是否在所有元素中都有不同的数字。如果列表中的所有值都不同,我将标志变量设置为 true,否则设置为 false。但是我的函数返回零而不是真或假。我知道我将标志变量初始化为零,因为我需要在函数开始时定义相同的变量
我已经想出了一个代码,但我的函数返回零。我的 for 句子没有被迭代
v=[]
def creat_function():
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
print(creat_function())
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
print(diferences(v))
您需要获取从 creat_function
获得的列表输出并将其传递给 diferences
函数
def creat_function():
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
#Get list from creat_function
v = creat_function()
#Pass it to diferences
print(diferences(v))
更新:如果你真的想使用global,可以按如下操作
v=[]
def creat_function():
#v is global
global v
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
def diferences():
# v is global
global v
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
#Get list from creat_function
creat_function()
#Pass it to diferences
print(diferences())
输出将是
number of elements
5
digit a number
1
digit a number
2
digit a number
3
digit a number
4
digit a number
5
True
number of elements
5
digit a number
1
digit a number
1
digit a number
2
digit a number
3
digit a number
3
False
看起来他假设 v 是全局的并且他不必在 v 中存储 return 值。
为了访问全局变量,我们需要使用 global 关键字
v=[]
def creat_function():
global v
v=[int(input('digit a number\n')) for j in range(0,int(input('number of elements\n')))]
return v
print(creat_function())
def diferences(v):
flag=0
for j in range(0,len(v)):
if v[j-1]!=v[j]:
flag=True
else:
flag=False
return flag
print(diferences(v))