2016-02-25 2 views
0

Я пытаюсь написать программу, которая получает доход от продаж в течение семи дней, а затем находит сумму, средний, а затем самый высокий и самый низкий объем продаж. Я застрял прямо сейчас, потому что не могу понять, как заставить интерпретатора брать мои входы как плавающие, а не строки?Почему интерпретатор Python считает, что мои входы Int - это строки?

Вот код:

def main(): 
    weekly_sales_analysis() 

def weekly_sales_analysis(): 
    sales_list = [] 
    sales1 = input('Enter the sales for Mon: ') 
    sales_list.append(sales1) 
    sales2 = input('Enter the sales for Tues: ') 
    sales_list.append(sales2) 
    sales3 = input('Enter the sales for Wed: ') 
    sales_list.append(sales3) 
    sales4 = input('Enter the sales for Thurs: ') 
    sales_list.append(sales4) 
    sales5 = input('Enter the sales for Friday: ') 
    sales_list.append(sales5) 
    sales6 = input('Enter the sales for Sat: ') 
    sales_list.append(sales6) 
    sales7 = input('Enter the sales for Sun: ') 
    sales_list.append(sales7) 

    total_sales = sum(sales_list) 
    print(total_sales) 

    average = sum(sales_list)/7 
    print(total_weekly_sales) 

Когда я запускаю программу, я получаю

"unsupported operand type(s) for +: 'int' and 'str'" 

И всякий раз, когда я пытаюсь преобразовать уточнить, что входы поплавки, как это:

sales1 = input(float('Enter the sales for Mon: ')) 

Он говорит мне, что он не может преобразовать строки в поплавки.

+0

['input()' возвращает строку] (https://docs.python.org/3.5/library/functions.html#input), вот как оно было написано, и вы не можете изменить это. * «И всякий раз, когда я пытаюсь преобразовать, выясняю, что входы такие с плавающей точкой» * - пожалуйста, помните, что вы имеете дело с языком программирования, а не с ИИ. – fjarri

ответ

1

Вы почти у цели. Вы должны отбрасывать результаты вашей input функции к floatпосле она возвращает значение, например:

sales1 = float(input('Enter the sales for Mon: ')) 

В противном случае, вы пытаетесь бросить строку 'Enter the sales for Mon: ' к float, который, очевидно, выиграл» t work - просто нет возможности интерпретировать это значение численно.

Чтобы ответить на ваш первый вопрос, input in Python 3.x takes all input as a string.

+0

Я только что закончил! Огромное спасибо. – MKUltraFresh

Смежные вопросы