, как гласит заголовок, один и тот же код, одна и та же версия Python 3 на обоих компьютерах, на одном работает Ma c OSX, на другом Win10.
Я в полной растерянности относительно того, почему это происходит, и я был бы очень признателен за объяснение того, что здесь происходит. Я не новичок в python кодировании, но я неопытен в tkinter и GUI design (в основном).
PS .: Он отлично работает на Windows 10 (т.е. выводит то, что я хочу), но не работает на Ma c OSX (т. Е. Нажимая кнопку «Выполнить» на GUI ничего не делает, очевидно; текстовое поле ввода отсутствует?).
Спасибо!
Вот что я получаю на Win 10
Вот что я получаю на Ма c OSX
А вот мой код:
import tkinter as tk
import math as m
from tkinter import *
root= tk.Tk()
root.title('Cloze Generator')
frame = Frame(root)
frame.pack()
freq = Label(frame, text='Convert every how many words:')
freq.pack( side = LEFT )
#canvas.create_window(50, 100, window=freq)
fr = StringVar()
entry1 = Entry(frame, textvariable=fr)
entry1.pack( side = RIGHT)
canvas = tk.Canvas(root, width = 800, height = 700)
canvas.pack()
entry = tk.Text(root, height=15, width=90)
canvas.create_window(400, 200, window=entry)
def cloze ():
x1 = entry.get('1.0','end')
originalText = x1
text = originalText.split()
code = '{1:SHORTANSWER:='
newText = ''
i = 0
fr = int(entry1.get())
for word in text:
i += 1
if i % fr == 0:
if word[-1] == '.':
wordDot = word[:-1]
if len(wordDot) > 1:
newWord = wordDot[:m.floor(len(word)/2)]
answer = wordDot[m.floor(len(word)/2):]
outWord = newWord + code + answer + '}'
newText += outWord + '. '
else:
newText += word + '. '
elif word[-1] == ',':
wordDot = word[:-1]
if len(wordDot) > 1:
newWord = wordDot[:m.floor(len(word)/2)]
answer = wordDot[m.floor(len(word)/2):]
outWord = newWord + code + answer + '}'
newText += outWord + ', '
else:
newText += word + ', '
else:
if len(word) > 1:
newWord = word[:m.floor(len(word)/2)]
answer = word[m.floor(len(word)/2):]
outWord = newWord + code + answer + '}'
newText += outWord + ' '
else:
newText += word + ' '
else:
newText += word + ' '
outText = tk.Text(root, height=15, width=90)
outText.insert(tk.END, newText)
canvas.create_window(400, 500, window=outText)
button = tk.Button(text='Run', command=cloze)
canvas.create_window(50, 350, window=button)
root.mainloop()