为什么Python的定量和变量界限不清

考试Python变量与定量的选择题,一直做不对!
题目如下
POUND = "£"
DOLLAR = "$"
CONVERSION_DOLLAR_TO_POUND = 0.82
dollars_to_convert_str = input("How many whole dollars do you want to convert? ")
dollars_to_convert_int = int(dollars_to_convert_str)
equivalent_pounds = dollars_to_convert_int * CONVERSION_DOLLAR_TO_POUND
output_text = DOLLAR + dollars_to_convert_str + ' = ' + POUND + str(equivalent_pounds)
print (output_text)

请回答,
1.以上代码中,哪一个是变量(可多选)()?
A.DOLLAR
B.POUND
C.CONVERSION_DOLLAR_TO_POUND
D.input
E.dollars_to_convert_str
F.dollars_to_convert_int
G.equivalent_pounds
H.output_text
I.print

2.以上代码中,哪一个是常量(可多选)()?
A.DOLLAR
B.POUND
C.CONVERSION_DOLLAR_TO_POUND
D.input
E.dollars_to_convert_str
F.dollars_to_convert_int
G.equivalent_pounds
H.output_text
I.print

input、print和int()是内置函数,这不是变量,其他都是变量
POUND = "£" #str变量
DOLLAR = "$" #str变量
CONVERSION_DOLLAR_TO_POUND = 0.82 #float变量
dollars_to_convert_str = input("How many whole dollars do you want to convert? ") #str变量
dollars_to_convert_int = int(dollars_to_convert_str) #int变量
equivalent_pounds = dollars_to_convert_int * CONVERSION_DOLLAR_TO_POUND #float变量
output_text = DOLLAR + dollars_to_convert_str + ' = ' + POUND + str(equivalent_pounds) #str变量
print (output_text)
至于常量,python里没有常量的概念,只有程序员之间的约定,全大写表示常量
但是语法并不支持这样做,你还是可以随时修改它的值

上面真正的变量是除了 input print int 之外所有的变量,因为这三者是python函数名。
上面的变量中不存在常量,如果从语言命名上来说,一般将常量命名为全大写,但这只是一个约定,并没有从语法上强制
所以光从命名约定上来说,上面的全大写变量可以认为是常量