Я пытался выяснить, как изменить цену на завод "Греческий Валериан", используя процентное изменение и в диапазоне -90 < percentChange < 100
.
Я могу найти и вручную изменить имена и номера, я просто не могу понять, как использовать процентное изменение, и использую редакцию сообщества Py Charm. Файл outputt.xml
в моем коде - это второй файл, на который я пишу свои изменения.
Мой XML-фрагмент:
<PLANT>
<COMMON>Greek Valerian</COMMON>
<BOTANICAL>Polemonium caeruleum</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>4.36</PRICE>
<AVAILABILITY>071499</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>California Poppy</COMMON>
<BOTANICAL>Eschscholzia californica</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Sun</LIGHT>
<PRICE>7.89</PRICE>
<AVAILABILITY>032799</AVAILABILITY>
</PLANT>
Код Python3, который я получил до сих пор:
import xml.etree.ElementTree as ET
with open('plant_catalog.xml', encoding='latin-1') as f:
tree = ET.parse(f)
root = tree.getroot()
for elem in root.getiterator():
try:
elem.text = elem.text.replace('4.36', '5')
except AttributeError:
pass
tree.write('outputt.xml', encoding='latin-1')
Может ли кто-нибудь помочь мне решить это?
Просто измените цену на
current_price*(1+percentChange/100)
Сначала найдите завод, который вас интересует:
for plant in root.iter('COMMON'):
if plant.text!='Greek Valerian':
continue
else:
price = None
for i in range(4):
price = plant.getnext()
price.text = str(float(price.text)*(1+percentChange/100))