的Python如果条件满足,打印“...”
我是一个学生是相当东东学习编程语言,我决定拿起Python和我真的很喜欢它至今。 我可能有一个愚蠢的问题,但我似乎无法找到解决方案,我写了一个程序的一部分,用户输入3个值。如果即使其中一个值打破了陈述,它也应该打印出正确的答案。 这就是我..的Python如果条件满足,打印“...”
lengte = input("Wat is de lengte die u nodig hebt?")
breedte = input("Wat is de breedte die u nodig hebt?")
hoogte = input ("Wat is de hoogte die u nodig hebt?")
a = 140
aa = 100
aaa = 110
b = 220
bb = 115
bbb = 120
if(hoogte in range(a) and breedte in range(aa) and hoogte in range(aaa)):
print "Type A"
if(hoogte in range(a,b) or breedte in range(aa,bb) or hoogte in range(aaa,bbb)):
print "Type B"
但是当我在170 hoogte和40,40 breedte给予和hoogte它仍然打印出“A型”,而在我的眼里它应该说是“B型”因为该值超过AA,但作为BB低..
任何帮助,将不胜感激,对不起,如果这似乎是一个“小白”的问题..但叶我是很新的这一点。
的问题是,您所指定A,AA,AAA等为范围,但没有给出范围。因此,请使用==运算符来测试您的输入是否等于您指定的任何变量。
这对我有效。
lengte = input("Wat is de lengte die u nodig hebt?")
breedte = input("Wat is de breedte die u nodig hebt?")
hoogte = input ("Wat is de hoogte die u nodig hebt?")
a = 140
aa = 100
aaa = 110
b = 220
bb = 115
bbb = 120
if(hoogte ==a and breedte == aa and hoogte == aaa):
print "Type A"
if(hoogte ==a,b or breedte == aa,bb or hoogte == aaa,bbb):
print "Type B"
实际上这只会打印出“type B“,因为第一个条件需要'hoogte == a和hoogte == aaa',只要'a!= aaa'将总是为False,但第二个条件在语句中有逗号,这意味着它实际上正在检查一个元组对于事实,请尝试:'print(hoogte == a,b或breedte == aa,bb or hoogte == aaa,bbb)'具有多于0个元素的元组将始终被视为True。 –
可能是你输入错误的第一个条件。你输入它hoogte,但它可能是lengte。
if(lengte in range(a) and breedte in range(aa) and hoogte in range(aaa)):
print "Type A"
if(lengte in range(a,b) or breedte in range(aa,bb) or hoogte in range(aaa,bbb)):
print "Type B"
第一条件逻辑将只打印“A类”,如果所有条件都为真,而第二个将打印“类型B”,如果至少一个条件为真。
'input'给出一个字符串,它只是纯文本。文本和数字是不同的,所以你必须通过包装来将hoogte转换为整数:'int(hoogte)'。只有这样你才能测试它是否在_numbers_范围内。编辑:忽略这一点,我没有意识到它是Python 2. –
这是python2,所以'输入'给出一个int。 – Brian
哦oke谢谢,生病试试看,马上让你知道:D –