我的 vip 变量不将 False 作为值,并且始终默认为 True
My vip variable does not take False as a value and always defaults to True
下面是return无论是VIP客户还是普通客户的代码,该列表不会将vip作为False值,始终取True。
Class DonutQueue():
def arrive(self,name,VIP):
self.name = name
self.vip = VIP
if self.vip==True:
self.queue2.append(self.name)
return self.queue2
else:
self.queue.append(self.name)
return self.queue
def next_customer(self):
while not self.queue2== []:
if not self.queue2==[]:
return self.queue
else:
return self.queue2
def main():
n = int(input("Enter the number of customers you want to add"))
for i in range(0,n):
name = input("Enter their name")
vip= bool(input("Are they a VIP"))
DonutQueue.arrive(name,VIP)
print (DonutQueue().next_customer())
下面是输出:
Enter the number of customers you want to add2
Enter their name John
Are they a VIP False
Enter their name Wick
Are they a VIP True
None
为什么我得到 None 作为输出,而当我输入 False 时我的值总是为 True。
以下是调试器值:
i:0
n:2
name: John
vip: True
Python 中的变量区分大小写。因此,当您将输入分配给 vip
时,它永远不会被使用,而是使用 VIP
。
vip= bool(input("Are they a VIP"))
DonutQueue.arrive(name, vip) #instead of VIP
Python input()
方法读取用户输入并return将其作为字符串。
Python bool()
将始终 return 非空字符串的 True
值和 False
仅当字符串为空.
为了将 vip 的值更正为 bool
,您必须手动检查输入字符串
vipString = input("Are they a VIP")
vip = True if vipString == 'yes' else False
下面是return无论是VIP客户还是普通客户的代码,该列表不会将vip作为False值,始终取True。
Class DonutQueue():
def arrive(self,name,VIP):
self.name = name
self.vip = VIP
if self.vip==True:
self.queue2.append(self.name)
return self.queue2
else:
self.queue.append(self.name)
return self.queue
def next_customer(self):
while not self.queue2== []:
if not self.queue2==[]:
return self.queue
else:
return self.queue2
def main():
n = int(input("Enter the number of customers you want to add"))
for i in range(0,n):
name = input("Enter their name")
vip= bool(input("Are they a VIP"))
DonutQueue.arrive(name,VIP)
print (DonutQueue().next_customer())
下面是输出:
Enter the number of customers you want to add2
Enter their name John
Are they a VIP False
Enter their name Wick
Are they a VIP True
None
为什么我得到 None 作为输出,而当我输入 False 时我的值总是为 True。
以下是调试器值:
i:0
n:2
name: John
vip: True
Python 中的变量区分大小写。因此,当您将输入分配给 vip
时,它永远不会被使用,而是使用 VIP
。
vip= bool(input("Are they a VIP"))
DonutQueue.arrive(name, vip) #instead of VIP
Python input()
方法读取用户输入并return将其作为字符串。
Python bool()
将始终 return 非空字符串的 True
值和 False
仅当字符串为空.
为了将 vip 的值更正为 bool
,您必须手动检查输入字符串
vipString = input("Are they a VIP")
vip = True if vipString == 'yes' else False