我试图将一个字符串的字符从一个循环输出到easygui.msgbox。

我尝试运行此代码:

import easygui

n = 9

for i in range (9):
    if i == n:
        easygui.msgbox(str(i))
    else:
        easygui.msgbox(str(i)+",",)


但是,一个循环的一个周期会打开多个窗口。当我按确定时,出现下一个数字。

0,


但是我想要的结果是在一个消息框中。

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

最佳答案

每次调用easygui.msgbox时,它将打开一个消息框。
您正在循环调用9次。
您只想调用一次,但是要使用完整的字符串

import easygui

msg = ','.join(str(i) for i in range(9))
easygui.msgbox(msg)


如果更容易理解,则可以像您一样先分别构建字符串(但是,在构建完要显示的整个字符串之前,请不要调用easygui.msgbox)。


另外,由于range(9)从0到8,因此您的if i == n:将不执行任何操作,因为n == 9。
另外,如果您要一开始分配n=9,则可能还想在循环中使用该变量for i in range(n):

关于python - 如何在easygui python中输出整个循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33294228/

10-12 18:45