分别输出多位数字的数字列表

时间:2014-12-02 12:38:20

标签: python list numbers

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。

4 个答案:

答案 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']

+=运算符扩展了提供给它的任何sequenceiterable}。

>>> 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