Yapmaya çalıştığım bu programda, bir ifadem var ("I = 23mm" veya "H = 4V" gibi) ve 23'ü çıkarmaya çalışıyorum. veya 4) bunun dışında bir tamsayıya dönüştürebilirim.1-word dizgisinden bir sayının çıkarılması
Yayılmaya devam ettiğim sorun, sayıları 1 kelimeyi almaya çalıştığım için split() veya başka bir şey kullanamıyorum.
bir örneği gördüm ama wouldnt çalışmaydı -
I="I=2.7A"
[int(s) for s in I.split() if s.isdigit()]
sadece sayılar boşluklarla ayrılmış olan edilir sürer, çünkü bu işe yaramaz. Int078vert kelimesinde bir sayı varsa, onu ayıklamazdı. Ayrıca benim de sınırlamak için boşlukları yok.
Ben böyle görünüyordu birinire.findall("\d+.\d+", "Amps= 1.4 I")
çalıştı ama geçirilmediğini sayısı her zaman 2 basamak olmadığı için, ya da işe yoktu. 5 ya da 13.6 gibi bir şey olabilir.
Ne kod Öyle yazmaya gerek olmadığı BenI="I=2.4A"
veya
bu dize tek çıkış sayısını ayıklayabileceğinden YaniI="A=3V"
gibi bir dize, geçirirseniz? (ve üzerinde işlemler yapmak)? Sınırlayabileceğim boşluk ya da başka sabit karakterler yok.
Ama sence benziyor
arada, burada sağlanan RE bir dökümünü Bu tamsayı ve ondalık sayıları için çözmeye çalışıyorum. Her dizginin her zaman tam olarak bir numarası olacak mı? – yoozer8
Evet. Her dizenin her zaman 1 numarası olur, ancak bu sayıyı yapmak için birden çok ondalık basamak olabilir. – Kyle