इस प्रोग्राम में मैं बनाने की कोशिश कर रहा हूं, मेरे पास एक अभिव्यक्ति है (जैसे "I = 23mm", या "H = 4V") और मैं 23 निकालने का प्रयास कर रहा हूं (या 4) इसके बाहर, ताकि मैं इसे एक पूर्णांक में बदल सकूं।1-शब्द स्ट्रिंग से किसी संख्या को निकालने
जिस समस्या में मैं चल रहा हूं वह यह है कि अभिव्यक्ति के बाद से मैं संख्याओं को 1 शब्द से बाहर ले जाने की कोशिश कर रहा हूं, इसलिए मैं विभाजन() या कुछ भी उपयोग नहीं कर सकता।
एक उदाहरण मैंने देखा लेकिन wouldnt काम था -
I="I=2.7A"
[int(s) for s in I.split() if s.isdigit()]
यह wouldnt काम है क्योंकि यह केवल लेता संख्या रिक्त स्थान से सीमांकित कर रहे हैं कर रहे हैं। यदि int078vert शब्द में कोई संख्या थी, तो यह इसे निकालेगी नहीं। इसके अलावा, मेरे पास घूमने के लिए रिक्त स्थान नहीं हैं।
मैं एक है कि इस तरह से देखा,
re.findall("\d+.\d+", "Amps= 1.4 I")
की कोशिश की, लेकिन यह, या तो फ्लॉप काम क्योंकि संख्या जाता है कि पारित किया जा रहा हमेशा 2 अंक नहीं है। यह 5 की तरह कुछ हो सकता है, या 13.6 की तरह कुछ।
क्या कोड मैं इतना लिखने के लिए की जरूरत है कि अगर मैं
I="I=2.4A"
या
I="A=3V"
तो है कि मैं इस स्ट्रिंग में से केवल संख्या निकाल सकते हैं के रूप में एक स्ट्रिंग, इस तरह से पारित? (और इस पर संचालन करते हैं)? कोई रिक्त स्थान या अन्य निरंतर वर्ण नहीं हैं जिन्हें मैं सीमित कर सकता हूं।
ऐसा लगता है कि आप कर रहे हैं इसे पूर्णांक और दशमलव संख्या दोनों के लिए हल करने का प्रयास कर रहा है। क्या प्रत्येक स्ट्रिंग में हमेशा एक संख्या होगी? – yoozer8
हाँ। प्रत्येक स्ट्रिंग में हमेशा 1 नंबर होगा, लेकिन उस नंबर को बनाने के लिए कई दशमलव हो सकते हैं। – Kyle