A list
литерал создается квадратными скобками, []
. Вы можете использовать круглые скобки, ()
, для группировки или для создания tuple
. В случае list = (1)
они используются для группировки, поэтому это то же самое, что и list = 1
. (A tuple
с один элемент создается с mytuple = (1,)
или просто mytuple = 1,
.)
На данный момент, я упомяну, что назвать одну из ваших переменных list
маскирует встроенную функцию list
, поэтому после того, как вы делаете, что вы можете» t доступ к этой функции без каких-либо усилий. Лучше назвать свой объект чем-то другим, например lst
.
Способ list
«s extend()
добавляет все элементы из переданного list
на объект вы обращаетесь, так что если mylist
был [1, 2, 3]
, mylist.extend([4, 5])
приведет к mylist
становится [1, 2, 3, 4, 5]
. Однако у вас есть только один объект для добавления, поэтому имеет смысл использовать append()
, который добавляет переданный объект к заданному list
.
x = float(input('Give x: ')) # the input function can be passed a prompt string
n = 100
k = 0
lst = [1] # changed name, created a list
while 0<x<1:
list.append(x**(k+1)) # you can just use the ** operator if you want
# also, k isn't K
k = k+1
if x==n: # x is never changed, so your loop either never runs
# or goes forever
break
print(sum(lst))
Обратите внимание на while
цикл, который будет либо никогда не вводить или не закончить. Вам придется еще раз взглянуть на логику вашей программы.
1) Не теневые имена встроенных типов. 2) '(1)' не является списком, это целое число, которое не имеет метода 'extend'. 3) Литералы списка формируются с квадратными скобками '[1]'. – vaultah
Списки используют квадратные скобки '[]'. Вероятно, вы ищете метод list.append: https://docs.python.org/3.5/tutorial/datastructures.html – tuned