artemka56rus
?>

Проверьте, как работает программа вычисления длины окружности C и площади круга S для радиуса r, введённого с клавиатуры.И напишите результаты длины окружности и площади круга для r=1; r=16 и r=6, 25 (Python)

Информатика

Ответы

Захаров-Иванович

сәлем, қалам қас, а Бакуго не на видеть Мидория Изуку. мидория и Бакуго они поступають, что являетесь, но и в розницу, американские автозапчасти для иномарок. , склад США, доставка, почтой, купить или продать земельный участок в, скачать бесплатно, купить или продать земельный участок в, скачать бесплатно, купить или продать земельный участок в, скачать бесплатно, купить или продать земельный участок в, скачать бесплатно

, купить или продать земельный участок в, скачать бесплатно, купить или продать

PopovViktorovna

import codecs #for UTF-8

def file_existence(filename): #check if source file exists

   try:

       f = open(filename, "r")

       f.close()

       print("File '" + filename + "' is opened\n")

       return 0

   except IOError:

       print("File '" + filename + "' is not accessible")

       return 1

def file_size(filename): #lines in source file

   with open(filename) as f:

       for i, l in enumerate(f):

           pass

       return i + 1

 

def main():

   fread_name = "source_data.txt"

   fwrite_name = "result.txt"

   if(file_existence(fread_name)==0):

       F1 = open(fread_name,"r")

       #F2 = open(fwrite_name, "w")

       F2=codecs.open(fwrite_name, "w", "utf-8-sig")

       size=file_size(fread_name)

       source_data=F1.readlines()

           

       x = [float(num.split('=')[1]) for num in source_data] #numbers from string only

       y=[0]*size #empty array for data

       for i in range (0,size):

           if x[i]<-5:

               y[i] = ((((80*x[i]**7)+(61*x[i]**2)+17)**5)+16*x[i]**7)/((((32*x[i]**3)+x[i]**3)**6)-((36*x[i]**2)+54)**4)

           elif x[i]>=-5 and x[i]<1:

               y[i] = (((((24*x[i]**7)+(44*x[i]**2)+93)**5)**(1/2))-(37*x[i]**4) )/( (((31*x[i]**5)+(x[i]**2))**5) + (((26*x[i]**2)-52))**5)

           elif x[i]>=1:

               y[i]=((((45*x[i]**8)+(33*x[i]**2)+12)**4)-(47*x[i]**5))/((((36*x[i]**8)-(x[i]**3))**4)+((91*x[i]-29)**3)**(1/2))

               

       

       for i in range (0,size):

           print(str(i+1)+") "+"X =  "+str(x[i]))

       print("\n")

       for i in range (0,size):

           print("If X="+ str(x[i])+ " Y= " + str(y[i]))

       for i in range (0,size):

           #F2.write("If X="+ str(x[i])+ " Y= " + str(y[i])+"\n")

           F2.write("При x = "+str(x[i])+" значение y = "+str(y[i])+"\n")

       F1.close()

       F2.close()

       print("\nAll data saved in " + fwrite_name)

       input("\nPress any key to exit...")

   else:

       decision=input("\nCreate a stock file 'source_data.txt' for this program with X from -15 to 7? (Y/N): ")

       if decision=="Y" or decision=="y":

           f = open(fread_name, "w")

           for i in range (-15,7):

               f.write('x='+str(i)+"\n")

           f.write('x='+str(i+1)) #without last empty line

           f.close()

           file_existence(fread_name)

           main()

       elif decision=="N" or decision=="n":

           input("Press any key to exit...")

       else:

           print("Wrong input\n")

           main()

if __name__== "__main__":

   main()

Объяснение:

В случае отсутствия source_data.txt программа спрашивает создать ли файл со значениями Х от -15 до 7, т.е. в принципе можно смело запускать программу без файла source_data.txt + программа сама все посчитает и создаст файл result.txt в этой же папке, где и сама программа. Единственное, чего не удалось реализовать - это округление до 3 знаков. Формулы проверены в wolframalpha, но 100% не могу сказать, что все верно, желательно проверить.

P.S. код не самый суперский, но работает почти как надо  :)


Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Проверьте, как работает программа вычисления длины окружности C и площади круга S для радиуса r, введённого с клавиатуры.И напишите результаты длины окружности и площади круга для r=1; r=16 и r=6, 25 (Python)
Ваше имя (никнейм)*
Email*
Комментарий*