好吧,我给自己定了个挑战,这样我就可以做些编程了。
但是我遇到了一些问题。
adtprice = {19.99 , 49.99}
chldprice = adtprice * (3/4) - 7.5
这就是我得到的结果。
Traceback (most recent call last):
File "C:/Users/Owner/Desktop/Programming Scripts/park.py", line 2, in <module>
chldprice = adtprice * (3/4) - 7.5
TypeError: unsupported operand type(s) for *: 'set' and 'float'
我希望它简单实用,因为我会经常使用adtprice和chldpice。
最佳答案
首先,你有一套,而不是一个清单使用方括号创建列表,而不是大括号。
正如其他人提到的,您需要对列表中的各个元素进行操作。
你可以通过一个列表来理解
adtprice = [19.99, 49.99]
chldprice = [p * (3./4) - 7.5
for p in adtprice]
或者使用
map
,如果您愿意:adtprice = [19.99, 49.99]
chldprice = map(lambda p: p * (3./4) - 7.5,
adtprice)
如果您想对序列执行这些类型的批量操作,请考虑使用numpy它是一组库,以简洁而强大的方式高效地处理矩阵和向量数学。例如:
adtprice = numpy.array([19.99, 49.99])
chldprice = adtprice * (3./4) - 7.5