Ich lerne Python-String-Operationen und versuche, abgegrenzten Text in Variablen umzuwandeln.Mehrere Strings zusammenbringen
d.h. "On Tap: 20 | Bottles: 957 | Cans: 139"
Dieser String sollte Wert von 20 957 bis zuweisen Flaschen Tippen, und 139 bis Dosen. Diese Zeichenfolge ist nicht festgelegt und kann variieren (zum Beispiel 3 Werte oder 0, auch die Position von Tap, Flaschen oder Dosen kann vertauscht werden).
Bisher habe ich diese entwickelt:
import re
strEx = "On Tap: 20 | Bottles: 957 | Cans: 139"
barServingText = strEx.split('|')
print(barServingText)
for i in barServingText:
print (i)
if i.find("Bottles"):
print("Found Bottles")
Bottles = re.sub('[^0-9]*','',i)
print(Bottles)
elif i.find("Cans"):
print("Found Cans")
Cans = re.sub('[^0-9]*','',i)
print(Cans)
elif i.find("Tap"):
print("Found Tap")
Tap = re.sub('[^0-9]*','',i)
print(Tap)
aber es wird nicht als pro meine Erwartungen und Neuzuweisung den Wert der Flaschen jedes Mal arbeiten.
Ausgang:
['On Tap: 20 ', ' Bottles: 957 ', ' Cans: 139']
On Tap: 20
Found Bottles
20
Bottles: 957
Found Bottles
957
Cans: 139
Found Bottles
139
ich viele print
Aussagen enthalten sind, die den Code debuggen. Mein Zweck ist nur, um den richtigen Variablen Werte zuzuweisen.
Wenn Sie versuchen, Python zu lernen und zu versuchen, string in Variablen zu konvertieren, sollte Ihre Variable automatisch aus der Zeichenfolge erstellt werden, nicht indem Sie den Wert einer Übereinstimmung einer von Ihnen deklarierten Variablen zuweisen.exec sollte verwendet werden (was das Lernen von Python betrifft) –
Kannst du ein Beispiel geben? –
gucke meine Antwort, ich habe hier gepostet –