angles = []
angles += raw_input("Enter an angle: ")
angles += raw_input("Enter another angle: ")
angles += raw_input("Enter another angle: ")
hyp = max(angles)
print angles
print hyp
当我输入值(20,50,25)
打印
Enter an angle: 20
Enter another angle: 50
Enter another angle: 25
['2', '0', '5', '0', '2', '5']
['2', '0', '5', '0', '2', '5']
5
我做错了什么?我希望它将20,50和25放入角度,并且在这种情况下,max(角度)给出最大数字50。
答案 0 :(得分:1)
试试这个:
angles.append(raw_input("Enter an angle: "))
两个列表之间的+号(在这种情况下,您的字符串被视为字符列表)连接两个列表。这不是你想要做的。您需要APPEND而不是将新字符串CONCATENATE到上一个列表。
如果字符串不能被视为字符列表,则会出现错误,因为您无法添加(+)列表和字符串。但是,python隐式地将你的字符串视为一个列表并给你一个结果 - 这可能非常有用,但在你的情况下,它不是你想要的结果。
答案 1 :(得分:1)
使用list.append
方法: -
angles = []
angles.append(raw_input("Enter an angle: "))
angles.append(raw_input("Enter another angle: "))
angles.append(raw_input("Enter another angle: "))
print angles
what you are doing
>>>angles = []
>>>angles = angles + raw_input("Enter an angle: ")
now look
>>>l = []
>>>l += 'anything' #adding iterable at the end of list like `l.extend('anything')`
>>>l
['a', 'n', 'y', 't', 'h', 'i', 'n', 'g']
答案 2 :(得分:0)
如果您想使用+
运营商使用[]
:
>>> a +=[raw_input("enter angel:")]
enter angel:20
>>> a
['20']
>>> a +=[raw_input("enter angel:")]
enter angel:60
>>> a
['20', '60']
正如其他给定append
您也可以使用
答案 3 :(得分:0)
>>> a = []
>>> my_list = []
>>> my_list += 'abcd'
>>> my_list
['a', 'b', 'c', 'd']
>>> my_list += (1,2,3,4)
>>> my_list.extend(list('python'))
>>> my_list
['a', 'b', 'c', 'd', 1, 2, 3, 4, 'p', 'y', 't', 'h', 'o', 'n']
>>> my_list += 1234
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
# In case of dictionary it will extend keys of dictionary.
>>> my_list += my_dict
>>> my_list
['a', 'b', 'c', 'd', 1, 2, 3, 4, 'p', 'y', 't', 'h', 'o', 'n', 'key2', 'ke1']
+=
运算符扩展了提供给它的任何sequence
(iterable
}。
>>> angles = []
>>> angles.append(raw_input("Enter an angle: "))
Enter an angle: 20
>>> angles.append(raw_input("Enter an angle: "))
Enter an angle: 50
>>> angles.append(raw_input("Enter an angle: "))
Enter an angle: 25
>>> angles
['20', '50', '25']
您应该使用append
内置函数将元素添加到列表中。
append(...)
L.append(object) -- append object to end