大佬教程收集整理的这篇文章主要介绍了如何使 For 循环中的迭代更有效?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用 i 变量增加 1。应该是 [0x0]、[0x1] 和 [0x2] 应该是 [0xi],但是当我尝试这样做时它给了我一个错误。如何提高效率?
另外,[0x0] 是什么类型的数据?我以前从未遇到过这种情况。
我尝试过的东西:
"<characters> + <variable> + <characters>"
for i in range(0,296,1):
time.sleep(5)
print(" ")
bus.write_i2c_block_data(0x2C,0x03,[0x0])
bus.write_i2c_block_data(0x2C,0x01,[0x0])
data = bus.read_byte_data(0x2C,0x01)
res_1 = (data / 256.0 ) * 10.0
data = bus.read_byte_data(0x2C,0x03)
res_2 = (data / 256.0 ) * 10.0
print "Resistance ChAnnel-0 : %.2f K" %res_1
print "Resistance ChAnnel-1 : %.2f K" %res_2
print(" ")
bus.write_i2c_block_data(0x2C,[0x1])
bus.write_i2c_block_data(0x2C,[0x1])
data = bus.read_byte_data(0x2C,[0x2])
bus.write_i2c_block_data(0x2C,[0x2])
data = bus.read_byte_data(0x2C,0x03)
res_2 = (data / 256.0 ) * 10.0
print "Resistance ChAnnel-0 : %.2f K" %res_1
print "Resistance ChAnnel-1 : %.2f K" %res_2
0x2C
、0x03
、0x0
、0x1
等都只是 int
以十六进制表示的文字。结果值与 44
、3
、0
、1
等相同。您的函数正在将 int
值转换为其他类型.
以下内容完全相同:
bus.write_i2c_block_data(0x2c,0x03,[0x1])
bus.write_i2c_block_data(44,3,[i]) # Assuming i == 1
完整,
for i in range(0,296,1):
time.sleep(5)
print(" ")
bus.write_i2c_block_data(0x2C,[i])
bus.write_i2c_block_data(0x2C,0x01,[i])
data = bus.read_byte_data(0x2C,0x01)
res_1 = (data / 256.0 ) * 10.0
data = bus.read_byte_data(0x2C,0x03)
res_2 = (data / 256.0 ) * 10.0
print "Resistance ChAnnel-0 : %.2f K" %res_1
print "Resistance ChAnnel-1 : %.2f K" %res_2
以上是大佬教程为你收集整理的如何使 For 循环中的迭代更有效?全部内容,希望文章能够帮你解决如何使 For 循环中的迭代更有效?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。