Я планирую совершить поездку в Disney World поздно этим летом, и я пытался составить программу для расчета приблизительной стоимости поездки для веселиться и стараться держаться от слишком ржавой. Моя проблема в том, что когда я пытаюсь отобразить все мои расчетные значения, я продолжаю получать ошибку, которая находится в названии. Мой код:Ошибка печати строки:% d format: требуется номер, а не str
###Function to display costs
def Display(days, nights, building_type, person, room_cost,
room_cost_person, DisneyPark, Hopper, IslandPark,
IslandPTP, Island_parking, gas_cost, gas_cost_person,
park_person, Total_cost_person, mpg, gas, downpay):
print('''Cost of trip for a %i day/%i night stay in a %%s%%:
Number of people going: %i
Total room cost ($) %4.2f
Room cost/person ($) %4.2f
Price of Disney World tickets ($) %4.2f
Price of hopper ticket-Disney ($) %4.2f
Price of Universal ticket ($) %4.2f
Park-to-Park %%s%%
Cost to park at Universal/person ($) %4.2f
Total cost of gas ($) %4.2f
Cost of gas/person ($)* %4.2f
Cost to park/person ($) %4.2f
Cost of groceries/person ($)^ %4.2f
Cost to eat out/person ($)^# %4.2f
Souvenirs ($)^ %4.2f
Total cost of trip/person ($) %4.2f
*Factoring in round trip distance (1490 miles), mpg of %i, and average gas cost $%4.2f
#Covers eating out at night, eating in parks (butterbeer, etc), and eating while driving
^Note that these are estimates
%Note that the Villa housing requires a $%4.2f downpayment (refundable) that was not
included in cost calculations
----------------------------------------------------------------------------------------'''
%(day, night, Building, person, room_cost, room_cost_person, DisneyPark,
Hopper, IslandPark, IslandPTP, Island_parking, gas_cost, gas_cost_person,
park_person, Groceries, Eat, Souvenirs, Total_cost_person, mpg, gas,
downpay))
Я смотрел на предложения по этому вопросу: Python MySQLdb issues (TypeError: %d format: a number is required, not str) и я попытался внести изменения, указанные, но они не были полезны для меня. Я могу индивидуально печатать каждое значение просто отлично, но когда я пытаюсь распечатать их все в этом большом блоке текста, я получаю свою ошибку. Я был бы признателен за любое понимание, которое может предложить любой.
Это было бы намного проще, если бы вы разделили его на отдельные линии, тогда вы могли бы выяснить, какая из них является проблемой. – jonrsharpe
Это не докшрин. –
Если у вас так много спецификаторов форматирования, что вы не можете поместить все аргументы в одну 80-значную строку даже с выделенными пробелами, пришло время начать использовать спецификаторы именованного формата и передать dict. – abarnert