Вопрос по string-formatting, python, whitespace – Дополнительные пробелы при печати

0

Вы прочитали несколько вопросов и ответов по удалению пробелов в Python, но покане смог найти то, что яищу Вот небольшая программа, которая показывает конкретный пример проблемы. Я очень ценю вашу помощь.

import random

math_score = random.randint(200,800)
math_guess = int(input("\n\nWhat score do you think you earned on the math section (200 to 800)?\t"))
print ("\n\n\nOn the math section, you guessed",math_guess,", and your actual score was",math_score,"!")

Так вот'моя проблема:

Когда я выполняю программу, я получаю следующие результаты:

On the math section, you guessed 600 , and your actual score was 717 !

Я хотел бы удалить пробел, который следует за каждой переменной в предложении. В этом случае пробел между 600 и "," и пробел между 717 и "!"

Есть ли стандартный способ решения этой проблемы?

На тему стиля кодирования этоНастоятельно рекомендуется не вставлять пробел между функцией и ее аргументами. Так,print("string") вместоprint ("string") Andrew Gorcester
Пробел автоматически вставляется для вас, когда вы разделяете аргументы запятыми. Посмотрите на форматирование строки (как упомянуто ниже), которое позволит вам передавать аргументы более динамичным способом. RocketDonkey
в Python 3 я считаю, что у них естьsep ключевое слово дляprint утверждение, которое позволяет определить, разделитель .. Joran Beasley

Ваш Ответ

4   ответа
0

Попробуй это:

print "\n\n\nOn the math section, you guessed %d and your actual score was %d!" % (math_guess, math_score)

Вы можете прочитать больше наВстроенные типы

Я не знал, что это устарело, спасибо, прочитаю об этом. insider
Вы должны использовать"{}".format синтаксис, поскольку этот вид является устаревшим (но останется надолго (TBH, я все еще использую этот формат все время) Joran Beasley
0
print ("\n\n\nOn the math section, you guessed",math_guess,", and your actual score was",math_score,"!", sep ='')

если это py3 + я думаю

print ("\n\n\nOn the math section, you guessed"+str(math_guess)+", and your actual score was"+str(math_score)+"!")

должен работать, если нет

или используйте форматирование строки, как предлагали другие ...

0

Вам нужноформат всю строку в одну строку, затем напечатайте эту строку.

print ("\n\n\nOn the math section, you guessed {0}, and your actual score was {1}!".format(math_guess, math_score))
4

Да,формат ваша строка:

print("... you guessed {}, and ... was {}!".format(math_guess, math_score))
Я удалил пробел между функцией и аргументом, чтобы он соответствовал стилю кодирования, а также отформатировал аргумент в нотации {} и .format, и он работал как шарм. Спасибо! user1741368
Андрей: яЯ новичок в этом, так что вы могли бы объяснить, почему этоНеправильный стиль кодирования для включения пробела между функцией и аргументом, но уместно включать пробел между переменной и ее значением. Это кажется мне противоречивым, но яя уверен, что естьЭто хорошая причина. user1741368
Зачем "цвет" противцвет"? Как и большинство вещей в программировании и человеческих языках, этоконвенция Что такое условность, но вкусы одной группы, победившей в войне популярности. Вы можете пройти все CCCummings и опустить заглавные буквы и знаки препинания и не быть "неправильно", но ты'наверняка раздражает% ^ &* из всех и может ожидать, что ониЯ буду раздражать вас обратно. JS.
@ user1741368: ТыДобро пожаловать! :) Вы должны, вероятно, пометить этот ответ какпринято, чтобы закрыть свой вопрос; Вы можете сделать это, проверив отметку на стороне. Rik Poggi

Похожие вопросы