Вы пытаетесь использовать d
как целое:
for l in range (a, d+1):
путем добавления 1
к нему, но вы сделали это строку:
d = str(input("Ange ett siffervärde: "))
Сделайте все ваши входы целые числа, вместо:
a = int(input("Ange ett siffervärde: "))
b = int(input("Ange ett siffervärde: "))
c = int(input("Ange ett siffervärde: "))
d = int(input("Ange ett siffervärde: "))
Далее ваш for
цикл затирает в l
переменную:
l = (a+b+c+d)
for l in range (a, d+1):
Не понятно, что вы хотите сделать в цикле, но сумма a
, b
, c
и d
теперь теряется, так как l
также используется как переменная цикла.
Если вы хотите иметь десятичные, вы можете использовать float()
вместо int()
, но учтите, что range()
может только работы с целыми числами!
Если вы хотите, чтобы напечатать 4 числа в цикле, а затем создать список первой и цикл непосредственно над списком:
a = float(input("Ange ett siffervärde: "))
b = float(input("Ange ett siffervärde: "))
c = float(input("Ange ett siffervärde: "))
d = float(input("Ange ett siffervärde: "))
lst = [a, b, c, d]
for number in lst:
print(number)
или объединить цикл с просьбой о количестве и печать:
lst = []
for count in range(4):
number = float(input("Ange ett siffervärde: "))
print(number)
lst.append(number)
Эта цифра запрашивает номер четыре раза, печатает заданное число и затем добавляет это число в список для последующего использования.
http://stackoverflow.com/questions/379906/parse-string-to-float-or-int имеет то, что вы ищете, я думаю. – doge