#time #communication #roundtrip
Вопрос:
«Привет всем
Я пытаюсь найти простую функцию, которую я могу использовать для оценки времени связи в оба конца космического корабля «Вояджер-1» (1, 3, 10, 100 или 300 лет спустя).
Это информация, которой я располагаю до сих пор, это должна быть простая функция, и я понимаю математику. Просто нужен язык.
Спасибо
import time
def communication_time(days):
distance_start = 0
distance_now = 22944706739.083 #in km
velocity_voy_1 = 16.9995 # in km/s
speed_of_light = 299792 # km/s
distance = distance_start velocity_voy_1 * time_since_start
round_trip_communication_time = (2 * distance_now/speed_of_light)
return 0
print(abs(communication_time(0) - 146143.0) < 10)
print(abs(communication_time(55) - 146682.0) < 10)
print(abs(communication_time(365.25 * 6) - 167616.0) < 10)
Комментарии:
1. Что это за язык? Кстати, я не думаю, что V1 так далеко.
2. Python 3, извините за упущение
3. В сутках 24*3600 секунд…
distance_now
не используется… с этого момента вычисляйтеdistance = distance_now v * days_converted_to_seconds
и используйтеdistance
в rtc_time, а затем возвращайте это rtc_time.4. На самом деле, @Breakingnotsobad, это так далеко.
5. О да… Я читал километры, пока это были мили… Забыл, что некоторые люди все еще используют эти устройства среднего возраста…
Ответ №1:
Я думаю, что это то, что вам нужно:
import time
distance_now = 22944706739.083 #in km
velocity_voy_1 = 16.9995 # in km/s
speed_of_light = 299792 # km/s
def where_will_voyager_be( days ):
return distance_now velocity_voy_1 * 86400 * days
def communication_time( distance ):
return 2 * distance / speed_of_light
def comm_time_in_days( days ):
dist = where_will_voyager_be( days )
return communication_time( dist )
# How long is comm time now?
print( "Now:", comm_time_in_days(0), "s" )
print( "Next month:", comm_time_in_days(30), "s" )
print( "Next year:", comm_time_in_days(365.25), "s" )
print( "5 years:", comm_time_in_days(5 * 365.25), "s" )
print( "10 years:", comm_time_in_days(10 * 365.25), "s" )
print( "30 years:", comm_time_in_days(30 * 365.25), "s" )
Выход:
Now: 153070.84071011236 s
Next month: 153364.79587902947 s
Next year: 156649.74489167825 s
5 years: 170965.3616179418 s
10 years: 188859.88252577122 s
30 years: 260437.96615708893 s
Комментарии:
1. можете ли вы посоветовать мне, почему следующие печатные заявления были включены в исходный вопрос. печать(abs(время общения(0) — 146143,0) < 10) печать(abs(время общения(55) — 146682,0) < 10) печать(abs(время общения(365,25 * 6) — 167616,0)
2. Требуемый выход был *Истинным, Истинным, Истинным?
3. Вы не упомянули, что у вас были другие требования. Ты только что сказал, что тебе нужен номер. Эти утверждения, по-видимому, подтверждают вашу домашнюю работу, проверяя, получили ли вы правильный ответ. Однако цифры не совпадают. С цифрами, которые вы указали, (0) — это 153070, а не 146173. Это разница в миллиард километров.
4. Привет, Тим. Большое спасибо за всю вашу помощь в этом, все оценено по достоинству.