#python #debugging #visual-studio-code
Вопрос:
Как указано в названии, этот скрипт отлично работает на моем рабочем столе, и все необходимые пакеты установлены на моем ноутбуке, хотя по какой-то причине он выдает эту ошибку. У него нет никаких проблем в режиме отладчика, но он не будет работать, когда вы просто пытаетесь запустить это нормально в VSCode
import tkinter as tk
import requests
#Functions
def usd_to_yuan():
yuan = (float(conversion.get("1.0", "end-1c")) * 6.47)
btn_load.config(text=f"The conversion is roughly {yuan} yuan")
def yuan_to_usd():
dollars = (float(conversion.get("1.0","end-1c")) * 0.15)
btn_load2.config(text=f"The conversion is roughly {dollars} usd")
#Format Window
window = tk.Tk()
window.geometry("800x600")
window.title("Currency Conversion")
window.config(padx=5,pady=5,background="#E1C1F5")
title_label = tk.Label(window, text = "Currency Conversion")
title_label.config(font=("Arial",16))
title_label.pack(padx=5,pady=5)
btn_load = tk.Button(window,text="Convert to CNY", command=usd_to_yuan)
btn_load.config(font=("Arial",20))
btn_load.pack(padx=10,pady=10)
btn_load2 = tk.Button(window,text="Convert to USD", command=yuan_to_usd)
btn_load2.config(font=("Arial",20))
btn_load2.pack(padx=10,pady=10)
conversion = tk.Text(window,height=1,width=20)
conversion.config(font=("Arial",10))
conversion.pack(padx=5,pady=5)
window.mainloop()
Скриншот ошибки, которую он выбросил
Комментарии:
1. Я скопировал ваш код и запустил его на своей машине — единственная проблема, с которой я столкнулся, заключалась в том, что по какой-то причине я не могу заставить Python распознать
requests
модуль, хотя в нем говорится, что он установлен. Но код, который вы опубликовали, все равно не использует этот модуль. Так что код сработал для меня нормально. Можете ли вы скопировать все сообщение об ошибке, а не только его часть?2. «[Запуск] python -u «/Users/xiaoan/Desktop/Programming/Python/CurrencyConverter.py» Файл «/Users/xiaoan/Desktop/Programming/Python/CurrencyConverter.py», строка 9 btn_load.config(текст=f»Конвертация примерно {юань} юань») ^ Синтаксическая ошибка: недопустимый синтаксис [Сделано], выведен с кодом=1 за 0,099 секунды » Это весь вывод терминала при запуске скрипта, и что касается запросов, я считаю, что он вызывается в моем .get
3. Какую версию Python вы используете? f-строки были введены в Python 3.6, я бы предположил, что ваша версия старше этой. И вы не используете
requests
модуль в своемconversion.get()
вызове, это вызов объектаconversion
, который определен какtk.Text
объект, поэтому он вызываетget()
функцию этого объекта.4. Ваш код хорошо работает на моей машине, можете ли вы попробовать запустить его в интегрированном терминале, ошибка все еще существует?
5. В чем причина первого
(
и последнего)
вyuan = (float(conversion.get("1.0", "end-1c")) * 6.47)
, Плохая практика пользовательского интерфейса, чтобы изменить текст кнопки для отображения вывода, что делать, если вы хотите второе преобразование, какую кнопку нажать, код тоже работает нормально для меня