کار با لیست در پایتون و محاسبه مسافت

سلام دوستان من به این سوال بر خوردم ولی نمی فهمم منظورش چیه و راه حلی براش ندارم اگه میشه یکی این کد رو بنویسه

به مناسبت عید نوروز سه دوست قدیمی می خواهند همدیگر را ملاقات کنند. آذرمهر، آذرگون و مهرآئین قصد دارند در یک نقطه همدیگر را ملاقات کنند. منزل این سه نفر روی خط راست قرار دارد (محور xها) خانه ی آذرمهر در نقطه ی x1 قرار دارد، خانه ی آذرگون در نقطه ی x2 قرار دارد و خانه ی مهرآئین در نقطه ی x3 قرار دارد. آنها در مجموع می خواهند کمترین مسافت را طی کنند. با در دست داشتن x1 x2 x3 کمترین مسافتی که این سه در مجموع باید طی کنند تا در یک نقطه همدیگر را ملاقات کنند را محاسبه کنید. لطفا در صورتی که جواب عدد صحیح شد آن را بدون نقطه ی عدد اعشاری چاپ کنید مثلا در نمونه ی زیر اگر چاپ کنید 6.0 غلط است.

دقت کنید که مسافت مورد نظر است نه مکانی که قرار است همدیگر را ملاقات کنند.

نمونه ورودی

6 9 10

خروجی

4

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

دوست عزیز اگر دارید برنامه‌نویسی میکنید و میخواید برنامه‌نویسی یاد بگیرید، درخواست نوشتن کد از دیگران راه مناسبی نیست. باید تفکر الگوریتمی خودتون رو تقویت کنید و سعی کنید خودتون الگوریتم‌های مسئله رو در بیارید و بر اساس اون کد بنویسید.

sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

سلام. متاسفانه در تدریس این برنامه جناب آقای جادی 2+2 رو خودشون حل میکنند و در تمرین ها از ما انتگرال سه گانه میخواهند!!!! حداقل چند تمرین درست و جون دار را خودشان حل کنند که متوجه شویم الگوریتم سازی یعنی چه

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

این کدی که نوشتم جواب مورد نظر رو میده.

import math
a=0
b=0
c=0
inp = input('enter str: ')
list1 = inp.split()
print(list1)

a = round(math.sqrt(abs((int(list1[0])**2)-(int(list1[1])**2))))
b = round(math.sqrt(abs((int(list1[1])**2)-(int(list1[2])**2))))
c = round(math.sqrt(abs((int(list1[0])**2)-(int(list1[2])**2))))
print (min(a, b, c))
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

اینکه میگی 2+2 یاد میده انتگرال 3 گانه میخواد درست نیست :)

اگه یه ذره فکر کنی جوابش رو از همون چیزایی که یاد داده میتونی در بیاری

y = []
x = input()
x = x.split()

for i in range(0, len(x)):
 x[i] = float(x[i])
x.sort()

y.append(x[2]-x[1])
y.append(x[2]-x[0])
y.append(x[1]-x[0])
y.sort()

if ((y[0]+y[1]).is_integer() == True):
 print(int(y[0]+y[1]))
else:
 print (y[0]+y[1])
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش
x=input()
x=x.split()
y1=int(max(x))
y2=int(min(x))
for j in x:
 if int(j)>y2 and int(j)<y1:
 y3=int(j)-y2
 y4=y1-int(j)
 y5=y3+y4
 elif int(j)==y2 or int(j)==y1:
 y5=y1-y2
print(abs(int(y5)))
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش
x=[]

For i in range (1,4):
 L=int(input ())
 x.append(L)

x.sort()
Print((x[2]-x[1])+(x[1]-x[0]))
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

من این کد رو نوشتم و کامل جواب میده

data_list = [int(x) for x in input().split()]
l1 = 0
l2 = 0
l3 = 0
l1 = max(data_list)
l2 = min(data_list)
l3 = l1 - l2
print(l3)
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش
x=input()
my_list=x.split()
def man():
 m=max(my_list)
 z=min(my_list)
 javab=m-z
 if javab.is_integer()==True:
 print(int(javab))
 else:
 print(javab)
for taktak in range (len(my_list)):
 my_list[taktak]=float(my_list[taktak])
my_list.sort()
man()
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش
data_list = [ int(x) for x in input().split() ]
data_list.sort()
c=max(data_list)
v=min(data_list)
n=c-v
 
print(n)
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

من این رو نوشتم بنظرم کمتر پیچیده اس و درست هس ونمره100%

online-support-icon