web-dev-qa-db-de.com

Wie kann ich in Python Variablen und Zeichenfolgen in derselben Zeile drucken?

Ich benutze Python, um herauszufinden, wie viele Kinder in 5 Jahren geboren würden, wenn alle 7 Sekunden ein Kind geboren würde. Das Problem ist in meiner letzten Zeile. Wie bekomme ich eine Variable zum funktionieren, wenn ich auf beiden Seiten Text drucke? 

Hier ist mein Code:

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"
110
Bob Uni

Verwenden Sie ,, um Strings und Variablen während des Druckvorgangs zu trennen:

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

, in der print-Anweisung trennt die Elemente durch ein Leerzeichen:

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

oder besser die string Formatierung verwenden :

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

Die Formatierung von Zeichenfolgen ist viel leistungsfähiger und ermöglicht Ihnen auch einige andere Dinge, wie z

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

Demo:

>>> 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
172

zwei mehr

Der erste

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

Beim Hinzufügen von Zeichenfolgen werden sie verkettet. 

Der zweite

Die format (Python 2.6 und neuere) Methode von Strings ist wahrscheinlich die Standardmethode:

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

Diese format-Methode kann auch mit Listen verwendet werden

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

oder Wörterbücher

>>> 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
40
TehTris

Wenn Sie mit Python 3 arbeiten möchten, ist das ganz einfach: 

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

Sie können entweder eine Formatzeichenfolge verwenden:

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

oder in diesem einfachen Fall:

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

Python ist eine sehr vielseitige Sprache. Sie können Variablen mit verschiedenen Methoden drucken. Ich habe 4 Methoden aufgelistet. Sie können sie nach Ihren Wünschen verwenden.

Beispiel:

a=1
b='ball'

Methode 1:

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

Methode 2:

print('I have',a,b)

Methode 3:

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

Methode 4:

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

Ausgabe wäre:

I have 1 ball
8
Gagan Agrawal

Bei einer aktuellen Python-Version müssen Sie wie folgt Klammern verwenden:

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

Sie würden zuerst eine Variable erstellen: Zum Beispiel: D = 1. Dann tun Sie dies, aber ersetzen Sie die Zeichenfolge durch das, was Sie möchten:

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

Ab Python 3.6 können Sie Literal String Interpolation verwenden.

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
2
PabTorre

Ich habe Ihr Skript kopiert und in eine .py-Datei eingefügt. Ich habe es so wie es ist mit Python 2.7.10 ausgeführt und den gleichen Syntaxfehler erhalten. Ich habe das Skript auch in Python 3.5 ausprobiert und folgende Ausgabe erhalten:

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

Dann habe ich die letzte Zeile geändert, in der die Anzahl der Geburten wie folgt gedruckt wird:

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"

Die Ausgabe war (Python 2.7.10):

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

Ich hoffe das hilft.

1
Debug255

Sie können string formatatting verwenden, um dies zu tun:

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

oder Sie können print mehrere Argumente angeben, die automatisch durch ein Leerzeichen getrennt werden:

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

Wenn Sie Python 3.6 oder höher verwenden, ist f-string die beste und einfachste

print(f"{your_varaible_name}")
1
Csmasterme

verwenden Sie String-Formatierung

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

wenn Sie ein Spielzeugprojekt machen, verwenden Sie: 

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

oder

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

Etwas anders: Mit Python 3 und print mehreren Variablen in derselben Zeile

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

Verwenden Sie einfach (Komma) dazwischen.

Siehe diesen Code zum besseren Verständnis:

Gewicht Konverter Pfund in kg

weight_lbs = input ("Geben Sie Ihr Gewicht in Pfund ein:")

weight_kg = 0,45 * int (weight_lbs)

print ("Du bist", weight_kg, "kg")

0

PYTHON

Besser die Formatoption verwenden

user_name=input("Enter your name : )

points = 10

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

oder deklarieren Sie die Eingabe als Zeichenfolge und verwenden Sie

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

points = 10

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

Sie können entweder die Methoden f-string oder .format () verwenden

f-string verwenden

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

Verwendung von .formt ()

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