为什么elif在没有语法错误的情况下执行多个语句

时间:2018-05-05 17:18:04

标签: python

这是我学习Python的第二周。我在下面写的代码工作到1968年。例如1971年以后的任何事情在1965年和1968年之间给出了相同的结果6000.任何人都可以帮助解释原因。

year =  int(input('Enter year: '))
while year: 
   if year < 1962:
      print('Car did not exist yet!')
      print('Please enter a valid year after 1962')
   elif year <= 1964:
      print('$18500')
   elif year >= 1965 <= 1968:
      print('$6000')
   elif year >= 1969 <= 1971:
      print('$12000')
   elif year >= 1972 <= 1975:
      print('$48000')
   elif year >= 1976 <= 1980:
      print('$200000')
   elif year >= 1981 <=1985:
      print('$650000')
   elif year >= 1986 <=2012:
      print('$35000000')
   elif year >=2013 <=2014:
      print('$52000000')
   else:
       print('Error Message')
   int(input('Enter year: '))

2 个答案:

答案 0 :(得分:2)

elif year >= 1965 <= 1968表示:year大于或等于1965年,1965年小于或等于1968年。

始终1965 <= 1968,条件实际上只是year >= 1965

你的意思是

elif 1965 <= year <= 1968:

答案 1 :(得分:0)

另一个解决方案:     elif year&gt; = 1969年和年&lt; = 1971: