Будьте предупреждены, я только начал изучать Python и его первый раз на этом сайте. Если я буду действовать как n00b, пожалуйста, не ненавидите.Почему эта функция не возвращает значение?
Итак, я создал программу, которая должна рассказать вам, сколько времени вам потребуется, чтобы добраться до звезды (расстояние указано) со скоростью света и факторами скорости света. Он начинается с библиотеки под названием easygui, которая создает красивое окно, которое пользователь выбирает. Выбранный им фактор становится переменным «выбором». Этот раздел кода работает отлично. В идеале это значение затем будет передаваться в функцию, которая будет делать факторинг, и вернуть значение для количества дней поездки. Это не увенчалось успехом. Скорее всего, я просто поставил это неправильно, поэтому, если кто-то знает правильный способ использования функций, я бы очень признателен за вашу помощь! О, и я попытался прокомментировать, как сумасшедший, так что, надеюсь, все имеет смысл!
import easygui as eg #the gui creation library I am using
dist = 41000000000000 #distance to the star
light = 300000 #speed of light
def Convert (factor): #takes in factor chosen by user
speed = light*factor #the speed is the factor multiplied by the speed of light
time = (dist/speed)/3600 # the time is the distance/divided by the speed, since thats a huge value in seconds, the /3600 should reduce it to days
return time #"should" return the value it got for "time"
msg = "Choose a warp factor:" #creates a gui window for user to select factor
title = "Warp Factor Selection"
choices = ["1", "3", "5", "10", "50", "100", "200", "500", "1000"]
choice = eg.buttonbox(msg, title, choices) #gui returns the user's selection as "choice" WORKS!
choice = float(choice) #changes choice to float
if choice == 1:
Convert(choice) #attempts to feed "choice" into the function "convert" DOES NOT WORK :(
print (Convert(1)) #then print the value created from convert (have also tried print(time) but it always returns 0)
На данный момент это намеренно настроено только для того, чтобы принимать только 1 в качестве фактора. Я хочу, чтобы понять эту функцию вещь, прежде чем я пойти и сделать остальную часть возможных факторов
thefourtheye избили меня до него. Я просто хочу сказать, что для новичка хорошая работа, поддерживающая действительно чистый код и добавление всех комментариев, чтобы люди могли легко ответить на ваш вопрос! – samrap