yc0526vip 发表于 2023-12-29 10:27:40

python 代码调整

@fishc

代码调整,要求C小于5的时候 跳出循环
c=len("1234567")
if c>= 5:
    while True:
      text_height = 8# 文字高度
      for i, line in enumerate(lines):
            oled.text(line, 0, i * text_height)# 在指定位置显示文字
                oled.show()# 更新屏幕显示
                for _ in range(text_height):
                        oled.scroll(0, -1)# 每次向上滚动一个像素
                        oled.show()
                lines.append(lines.pop(0))# 将第一行移到最后

FishC 发表于 2023-12-29 10:27:53

代码调整如下:

c = len("1234567")
if c >= 5:
    while c < 5:
      text_height = 8# 文字高度
      for i, line in enumerate(lines):
            oled.text(line, 0, i * text_height)# 在指定位置显示文字
      oled.show()# 更新屏幕显示
      for _ in range(text_height):
            oled.scroll(0, -1)# 每次向上滚动一个像素
            oled.show()
      lines.append(lines.pop(0))# 将第一行移到最后
      c = c - 1

在代码中,我们在`while`循环中添加了一个条件来判断`c`是否小于5,如果小于5,则跳出循环。在每次循环结束后,将`c`的值减1,直到它小于5为止。这样就可以实现当`c`小于5时跳出循环的需求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

yc0526vip 发表于 2023-12-29 10:56:14

FishC 发表于 2023-12-29 10:27
代码调整如下:



如果大于5个字符进入循环,如果不是跳出循环

FishC 发表于 2023-12-29 10:56:27

yc0526vip 发表于 2023-12-29 10:56
如果大于5个字符进入循环,如果不是跳出循环

代码调整如下:

c = len("1234567")
if c >= 5:
    while True:
      text_height = 8# 文字高度
      for i, line in enumerate(lines):
            oled.text(line, 0, i * text_height)# 在指定位置显示文字
      oled.show()# 更新屏幕显示
      for _ in range(text_height):
            oled.scroll(0, -1)# 每次向上滚动一个像素
            oled.show()
      lines.append(lines.pop(0))# 将第一行移到最后
      c = len(lines)
      if c <= 5:
            break

在原有的代码基础上,我们新增了一个判断条件`if c <= 5: break`,当字符数小于等于5时,跳出循环。这样就能够实现当大于5个字符时进入循环,否则跳出循环的需求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

yc0526vip 发表于 2023-12-29 11:06:13

FishC 发表于 2023-12-29 10:56
代码调整如下:



不对

FishC 发表于 2023-12-29 11:06:26

yc0526vip 发表于 2023-12-29 11:06
不对

抱歉,我理解错了。你想要在c小于5时跳出循环,而不是在c大于等于5时进入循环。下面是修正后的代码:

c = len("1234567")

if c >= 5:
    while True:
      text_height = 8# 文字高度
      for i, line in enumerate(lines):
            oled.text(line, 0, i * text_height)# 在指定位置显示文字
      oled.show()# 更新屏幕显示
      for _ in range(text_height):
            oled.scroll(0, -1)# 每次向上滚动一个像素
            oled.show()
      lines.append(lines.pop(0))# 将第一行移到最后
      c = len(lines)
      if c < 5:
            break

在这个修正后的代码中,首先判断c是否大于等于5,如果是则进入while循环。每次循环结束后,通过`len(lines)`重新计算c的值。如果c小于5,则使用`break`语句跳出循环。这样就实现了当c小于5时跳出循环的要求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

yc0526vip 发表于 2023-12-29 11:07:09

FishC 发表于 2023-12-29 11:06
抱歉,我理解错了。你想要在c小于5时跳出循环,而不是在c大于等于5时进入循环。下面是修正后的代码:



不对

FishC 发表于 2023-12-29 11:07:21

yc0526vip 发表于 2023-12-29 11:07
不对

非常抱歉,我再次理解错了你的意思。下面是正确的代码调整:c = len("1234567")if c < 5:    while True:      text_height = 8# 文字高度      for i, line in enumerate(lines):            oled.text(line, 0, i * text_height)# 在指定位置显示文字      oled.show()# 更新屏幕显示      for _ in range(text_height):            oled.scroll(0, -1)# 每次向上滚动一个像素            oled.show()      lines.append(lines.pop(0))# 将第一行移到最后      c = len(lines)      if c >= 5:            break在这个修正后的代码中,首先判断c是否小于5,如果是则进入while循环。每次循环结束后,通过`len(lines)`重新计算c的值。如果c大于等于5,则使用`break`语句跳出循环。这样就实现了当c小于5时跳出循环的要求。非常抱歉之前的回答不正确,希望这次能够满足你的需求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: python 代码调整