web-dev-qa-db-ja.com

Pythonで変数と文字列を同じ行に表示するにはどうすればいいですか?

私はpythonを使用して、7秒ごとに子供が生まれた場合、5年間に何人の子供が生まれますか。問題は私の最後の行にあります。どちらかの側にテキストを印刷するときにどのように変数を機能させることができますか。

これが私のコードです:

currentPop = 312032486
oneYear = 365
hours = 24
minutes = 60
seconds = 60

# seconds in a single day
secondsInDay = hours * minutes * seconds

# seconds in a year
secondsInYear = secondsInDay * oneYear

fiveYears = secondsInYear * 5

#Seconds in 5 years
print fiveYears

# fiveYears in seconds, divided by 7 seconds
births = fiveYears // 7

print "If there was a birth every 7 seconds, there would be: " births "births"
119
Bob Uni

印刷中に文字列と変数を分離するには,を使用します。

print "If there was a birth every 7 seconds, there would be: ",births,"births"

printステートメントの,は、項目をシングルスペースで区切ります。

>>> print "foo","bar","spam"
foo bar spam

文字列フォーマット

print "If there was a birth every 7 seconds, there would be: {} births".format(births)

文字列の書式設定ははるかに強力で、パディング、塗りつぶし、配置、幅、精度の設定など、他のこともできます。

>>> print "{:d} {:03d} {:>20f}".format(1,2,1.1)
1 002             1.100000
  ^^^
  0's padded to 2

デモ:

>>> births = 4
>>> print "If there was a birth every 7 seconds, there would be: ",births,"births"
If there was a birth every 7 seconds, there would be:  4 births

#formatting
>>> print "If there was a birth every 7 seconds, there would be: {} births".format(births)
If there was a birth every 7 seconds, there would be: 4 births
186

もう二つ

最初の1つ

 >>>births = str(5)
 >>>print "there are " + births + " births."
 there are 5 births.

文字列を追加するとき、それらは連結します。

セカンドワン

また、文字列のformat(Python 2.6以降)メソッドもおそらく標準的な方法です。

>>> births = str(5)
>>>
>>> print "there are {} births.".format(births)
there are 5 births.

このformatメソッドはリストと一緒に使うこともできます

>>> format_list = ['five','three']
>>> print "there are {} births and {} deaths".format(*format_list) #unpack the list
there are five births and three deaths

または辞書

>>> format_dictionary = {'births': 'five', 'deaths': 'three'}
>>> print "there are {births} births, and {deaths} deaths".format(**format_dictionary) #yup, unpack the dictionary
there are five births, and three deaths
44
TehTris

もしあなたがpython 3を使いたいのなら、それはとても簡単です:

print("If there was a birth every 7 second, there would be %d births." % (births))
20

フォーマット文字列を使用することができます。

print "There are %d births" % (births,)

あるいはこの単純な場合:

print "There are ", births, "births"
11
enpenax

Pythonは非常に用途の広い言語です。さまざまな方法で変数を印刷できます。以下に4つの方法を挙げました。あなたはあなたの都合に合わせてそれらを使用することができます。

例:

a=1
b='ball'

方法1:

print('I have %d %s' %(a,b))

方法2:

print('I have',a,b)

方法3:

print('I have {} {}'.format(a,b))

方法4:

print('I have ' + str(a) +' ' +b)

出力は以下のようになります。

I have 1 ball
9
Gagan Agrawal

Python 3.6では、 Literal String Interpolationを使用できます。

births = 5.25487
>>> print(f'If there was a birth every 7 seconds, there would be: {births:.2f} births')
If there was a birth every 7 seconds, there would be: 5.25 births
6
PabTorre

現在のpythonバージョンでは、次のように括弧を使用する必要があります。

print ("If there was a birth every 7 seconds", X)
3
Dror

最初に変数を作成します。たとえば、D = 1とします。その後、これを行いますが、文字列を必要なものに置き換えます。

D = 1
print("Here is a number!:",D)

f-string または .format() メソッドを使用できます。

f-stringを使う

print(f'If there was a birth every 7 seconds, there would be: {births} births')

.formt()を使用する

print("If there was a birth every 7 seconds, there would be: {births} births".format(births=births))
2
ms8277

あなたのスクリプトをコピーして.pyファイルに貼り付けました。 Python 2.7.10でそのまま実行したところ、同じ構文エラーが発生しました。私はまたPython 3.5でスクリプトを試してみて、以下の出力を受け取りました:

File "print_strings_on_same_line.py", line 16
print fiveYears
              ^
SyntaxError: Missing parentheses in call to 'print'

それから、私はそれが以下のように出生数を表示する最後の行を修正しました:

currentPop = 312032486
oneYear = 365
hours = 24
minutes = 60
seconds = 60

# seconds in a single day
secondsInDay = hours * minutes * seconds

# seconds in a year
secondsInYear = secondsInDay * oneYear

fiveYears = secondsInYear * 5

#Seconds in 5 years
print fiveYears

# fiveYears in seconds, divided by 7 seconds
births = fiveYears // 7

print "If there was a birth every 7 seconds, there would be: " + str(births) + " births"

出力は(Python 2.7.10)です。

157680000
If there was a birth every 7 seconds, there would be: 22525714 births

これが役に立つことを願っています。

1
Debug255

これを行うには、 文字列フォーマット を使用できます。

print "If there was a birth every 7 seconds, there would be: %d births" % births

あるいはprintに複数の引数を与えて、それらをスペースで自動的に区切ることもできます。

print "If there was a birth every 7 seconds, there would be:", births, "births"
1
Amber

あなたがPython 3.6またはそれ以降を使っているなら、f-stringが一番簡単で簡単です

print(f"{your_varaible_name}")
1
Csmasterme

文字列フォーマット を使用

print("If there was a birth every 7 seconds, there would be: {} births".format(births))
 # Will replace "{}" with births

あなたがおもちゃのプロジェクトをやっているならば:

print('If there was a birth every 7 seconds, there would be:' births'births) 

または

print('If there was a birth every 7 seconds, there would be: %d births' %(births))
# Will replace %d with births
1
Siddharth Dash

ちょっと違います:Python 3とprint いくつかの 変数を同じ行に使う:

print("~~Create new DB:",argv[5],"; with user:",argv[3],"; and Password:",argv[4]," ~~")
0
Qohelet

間にちょうど、(コンマ)を使用します。

理解を深めるには、次のコードを参照してください。

重量コンバーターポンドをkg

weight_lbs = input( "体重をポンドで入力:")

weight_kg = 0.45 * int(weight_lbs)

print( "You are"、weight_kg、 "kg")

0

PYTHON

フォーマットオプションを使用することをお勧めします

user_name=input("Enter your name : )

points = 10

print ("Hello, {} your point is {} : ".format(user_name,points)

または、入力を文字列として宣言して使用します

user_name=str(input("Enter your name : ))

points = 10

print("Hello, "+user_name+" your point is " +str(points))
0
Bromount