Rumah > Soal Jawab > teks badan
a="1000111000"
b="1000000001"
ab为字符串
a或b得到1000111001
除了一位一位的处理,有没有什么方便的方法
巴扎黑2017-04-17 17:46:08
Kod:
a = "1000111000"
b = "1000000001"
c = int(a, 2) | int(b, 2)
print('{0:b}'.format(c))
Keputusan:
1000111001
Analisis:
pengendali|
itu sendiri boleh melakukan operasi bitwise, jadi kita hanya perlu tahu cara menukar rentetan menjadi integer 2-bawaan dan cara menukar < yang telah selesai. 🎜> Hasil integer boleh diwakili oleh rentetan 2-bawa .
boleh menukar integer atau rentetan int(a, 2)
kepada integer binari (secara tepatnya, biarkan a
menggunakan a
sebagai asas untuk penukaran integer), dan kemudian gunakan 2進位
untuk melaksanakan bitwise atau , Akhir sekali, kaedah |
membolehkan kami memformat nilai dalam format binari. '{0:b}'.format(c)
Pemikiran Lain:
Menariknya, jika kita melakukannya sedikit demi sedikit, menggunakan pemahaman penjana serta beberapa helah gaya pengaturcaraan berfungsi lain boleh menyelesaikan tugas dalam satu baris pendek:
a = "1000111000"
b = "1000000001"
c = ''.join(str(int(ba) | int(bb)) for ba, bb in zip(a, b))
print(c)