2015-10-23 3 views
1

Я пытаюсь вывести строку символов из одного цикла в файл easygui.msgbox.Как вывести полный цикл в easygui python

Я попытался запустить этот код:

import easygui 

n = 9 

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

Но несколько открытых окон с одной один цикл цикла. И когда я нажимаю okay, появляется следующий номер.

0, 

Но моими желаемыми результатами является это в одном блоке.

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

Используйте другую переменную для хранения полную строку, а затем после этого, использование MsgBox для отображения результата (после объединения строки). –

ответ

1

Каждый раз, когда вы вызываете 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: не будет ничего делать, так как п == 9.
  • Кроме того, если вы собираетесь назначить n=9 в начале, вы, вероятно, хотите использовать эту переменную в цикле, а for i in range(n):
Смежные вопросы