Jump to content

tdf81bg

Потребител
  • Брой теми

    28
  • Регистрация

  • Последно посещение

Информация

  • Пол
    Мъж

tdf81bg's Achievements

Новобранец

Новобранец (1/14)

0

Репутация в общността

  1. Здравейте, мъча се да си спретна едно изчисляващо скриптче да си улесня работата, а и да понауча нещо. Напълно начално ниво на Python съм. Чета и се уча от Python Практическо програмиране на Денис Колисниченко. Идеята е следната: Въвеждам n брой числа (принципно са 10, но в редки случаи може да са повече). Правя среден резултат, виждам колко са 10% от него, след което вадя две стойности. Първата е средният резултат + 10%, а втората е средният резултат - 10%. Тези две стойности ги правя като граница. От тук нататък следва, това което не мога да направя. Трябва от въведените n числа първоначално да премахна тези, които са над и под границата, след което на останалите числа да изведа средния резултат. Първоначално направих следното: import os os.system('cls' if os.name == 'nt' else 'clear') print ('ВЪВЕДИ 10 ЧИСЛА:') n1 = int(input(' 1: ')) n2 = int(input(' 2: ')) n3 = int(input(' 3: ')) n4 = int(input(' 4: ')) n5 = int(input(' 5: ')) n6 = int(input(' 6: ')) n7 = int(input(' 7: ')) n8 = int(input(' 8: ')) n9 = int(input(' 9: ')) n10 = int(input('10: ')) print ('') n_avg = (n1+n2+n3+n4+n5+n6+n7+n8+n9+n10)/10.0 n_avg10 = n_avg * 0.1 n_avg_big = n_avg + n_avg10 n_avg_small = n_avg - n_avg10 print ('средният резултат е ', n_avg) print ('') print (' 10 % от ',n_avg) print ('> ',round(n_avg_big,2)) print ('< ',round(n_avg_small,2)) print ('') print (' - Проверка на числата -') print ('') if n1 > n_avg_big: print (n1,' е >') n1 = 0 elif n1 < n_avg_small: print (n1,' е <') n1 = 0 else: print (n1,' е в границите') if n2 > n_avg_big: print (n2,' е >') n2 = 0 elif n2 < n_avg_small: print (n2,' е <') n2 = 0 else: print (n2,' е в границите') if n3 > n_avg_big: print (n3,' е >') n3 = 0 elif n3 < n_avg_small: print (n3,' е <') n3 = 0 else: print (n3,' е в границите') if n4 > n_avg_big: print (n4,' е >') n4 = 0 elif n4 < n_avg_small: print (n4,' е <') n4 = 0 else: print (n4,' е в границите') if n5 > n_avg_big: print (n5,' е >') n5 = 0 elif n5 < n_avg_small: print (n5,' е <') n5 = 0 else: print (n5,' е в границите') if n6 > n_avg_big: print (n6,' е >') n6 = 0 elif n6 < n_avg_small: print (n6,' е <') n6 = 0 else: print (n6,' е в границите') if n7 > n_avg_big: print (n7,' е >') n7 = 0 elif n7 < n_avg_small: print (n7,' е <') n7 = 0 else: print (n7,' е в границите') if n8 > n_avg_big: print (n8,' е >') n8 = 0 elif n8 < n_avg_small: print (n8,' е <') n8 = 0 else: print (n8,' е в границите') if n9 > n_avg_big: print (n9,' е >') n9 = 0 elif n9 < n_avg_small: print (n9,' е <') n9 = 0 else: print (n9,' е в границите') if n10 > n_avg_big: print (n10,' е >') n10 = 0 elif n10 < n_avg_small: print (n10,' е <') n10 = 0 else: print (n10,' е в границите') print ('') print ('Числа: ',n1 ,n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 , n10) print ('') zero_check = int(input('Колко от числата са 0? ')) if zero_check == 0: num_count = 10 if zero_check == 1: num_count = 9 print ('') print ('Въведете числата отново без 0') if zero_check == 2: num_count = 8 print ('') print ('Въведете числата отново без 0') if zero_check == 3: num_count = 7 print ('') print ('Въведете числата отново безt 0') if zero_check == 4: num_count = 6 print ('') print ('Въведете числата отново без 0') if zero_check == 5: num_count = 5 print ('') print ('Въведете числата отново без 0') if zero_check == 6: num_count = 4 print ('') print ('Въведете числата отново без 0') if zero_check == 7: num_count = 3 print ('') print ('Въведете числата отново без 0') if zero_check == 8: num_count = 2 print ('') print ('Въведете числата отново без 0') if zero_check == 9: num_count = 1 print ('') print ('Въведете числата отново без 0') if num_count == 10: average = (n1+n2+n3+n4+n5+n6+n7+n8+n9+n10)/10 if num_count == 9: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) num_5 = int(input('5: ')) num_6 = int(input('6: ')) num_7 = int(input('7: ')) num_8 = int(input('8: ')) num_9 = int(input('9: ')) average = (num_1+num_2+num_3+num_4+num_5+num_6+num_7+num_8+num_9)/9 if num_count == 8: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) num_5 = int(input('5: ')) num_6 = int(input('6: ')) num_7 = int(input('7: ')) num_8 = int(input('8: ')) average = (num_1+num_2+num_3+num_4+num_5+num_6+num_7+num_8)/8 if num_count == 7: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) num_5 = int(input('5: ')) num_6 = int(input('6: ')) num_7 = int(input('7: ')) average = (num_1+num_2+num_3+num_4+num_5+num_6+num_7)/7 if num_count == 6: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) num_5 = int(input('5: ')) num_6 = int(input('6: ')) average = (num_1+num_2+num_3+num_4+num_5+num_6)/6 if num_count == 5: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) num_5 = int(input('5: ')) average = (num_1+num_2+num_3+num_4+num_5)/5 if num_count == 4: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) num_4 = int(input('4: ')) average = (num_1+num_2+num_3+num_4)/4 if num_count == 3: num_1 = int(input('1: ')) num_2 = int(input('2: ')) num_3 = int(input('3: ')) average = (num_1+num_2+num_3)/3 if num_count == 2: num_1 = int(input('1: ')) num_2 = int(input('2: ')) average = (num_1+num_2)/2 if num_count == 1: print ('грешка') average = 0 print ('') print ('Среден резултат след корекция +/- 10% е ',round(average,1)) input('произволен клавиш за изход') quit()Тук въвеждам 10 числа, правя среден резултат, вадя си 10% след което проверявам всяко едно от 10-те числа и ако е извън границите му давам стойност 0, след това извеждам повторно 10-те резултата и ако има такива извън границите те се извеждат със стойност 0. След това въвеждам повторно резултатите без нулите и правя среден резултат. Принципно си решавам нещата, но ми се иска да бъде по-добре направено. Започнах наново и стигнах до тук print('Въведете числата, отделени със запетая без на последното число') n=input('Числа: ') x=n.split(',') z=[] for i in x: z+= [int(i)] print(z) avg = sum(z)/len(z) print(round(avg,1)) avg10 = avg * 0.1 avg_big = avg + avg10 avg_small = avg - avg10 print('>',avg_big) print('<',avg_small)Нямам идея, как да проверя n числа. (те обикновено са 10) и в такъв случай мога да ги проверя пак отделно по следния начин: if z[0] > avg_big: print(z[0],'е >') elif z[0] < avg_small: print(z[0],'е <') else: print(z[0],'е в границите')Идеята ми е да направя така, че да не въвеждам числата втори път, да си се проверяват спрямо границата (+/- 10%) и да вади средният резултат само на числата в границата, като другите ги елиминира. Нямам нужда да виждам дали всяко число е в границите, направил съм го така просто да се вижда иначе ми трябва просто да извежда стойността на средният резултат след обработката т.е. вкарвам n числа или 10 те си се обработват на екрана получавам една средна стойност и това е. За жалост не мога да разбера как да го направя.
  2. Благодаря на всички който са писали по темата. Ползвам SP2 понеже поне за мен на моите стационарни машини се държи по-добре от SP3, само и единствено поради тази причина. Не съм ползвал до сега Sandboxiе ще го погледна да видя за какво става въпрос. За възпроизвеждането на филм или друго видео на ТВ-то и аз нямам обяснение и трябва да е софтуерно понеже ако е хардуерен проблем въобще няма да може да изкара картина, ще продължавам да търся и да чета понеже не намирам някаква настройка свързана с това. От фирмата, от която го взех не предлагат "профилактика" на лаптопи до колкото знам. Ако отида другаде ще ми отпадне гаранцията. Аз описах всичко на колегите от които го купих и отговора беше: Можете да бъдете спокоен и на 85С. Това е маркова машина, правена за САЩ и Европа (не влизат България,Румъния,Албания,Сомалия и т.н.). Ще си го ползвам нормално, в момента в който изтече гаранцията ще го занеса да ми го изчистят и т.н. Обмислям, дали да не му сложа Ubuntu 10.04 LTS или някое от по-новите което не е с Unity, но още се колебая понеже на всичките машини съм с Nvidia видео карти, а знам от колеги, че имат проблеми с ATi под линукс. Благодаря още веднъж на всички отзовали се! Поздрави!
  3. Не съм се изразил правилно явно, пробвах с някаква игра просто за да го натоваря да видя какво ще е загряването, далече съм от игрите въобще. Да лаптопа е взет с цел интернет, чат пат лазарус и php, някое dvdrip филмче чат пат. Без нещо особено натоварващо, просто се опитах да го натоваря на макс да видя какви температури ще вдигне. Нямам особени наблюдения относно температурите на лаптопите особено спрямо този модел. Прави ми впечатление, че въобще не загрява всмисъл по клавиатурата, дори и когато отчете над 70 за разлика от други на които съм попадал. Колкото до блу-рей риповете, просто за проба понеже търсих нещо натоварващо, за да видя колко и каква температура ще изкара, а 720 и 1080 мисля, а и както ти спомена трябва да натоварят машинката. Не възнамерявам да го мъча, чат пат някой dvdrip. Просто натоварвам за да видя какво е при "най-лошият" вариант, който едва ли ще се постигне впредвид на това, че игри не играя от доста години. Понеже нямам наблюдения специално към този вид и модел латопи исках да видя всички стойности. Машината варира от 37-8 до 59-60 в зависимост от това което е пуснато като програми. При филм както споменах 720p примерно макс 61-2, дори и при обикновен двдрип, правен "1900 и големия сняг". При играта, която пуснах и вече отдавна изтрих достигна макс 75. Просто питах дали това са температури в що-годе нормални стойности? Пуснах мейл и на фирмата от където го купих, написах им това което съм установил в къщи и дали тези температури са нормални спрямо другите, които имат в наличност от този модел Писах, че обмислям да го връщам с оглед на това ако температурите са високи. Далеч съм от мисълта нито ми се занимава да им го нося, да го поправят или да ми го сменят, ако не е наложително. ПС: Извинявам се за всякакви правописни,пунктуационни и грешки от всякакво естество, но вече спя с едното око Поздрави!
  4. Съжалявам за късният отговор. Да няма клавиш Win. При натискане на Fn+F7 се превключва само на телевизора. Вижда си се десктопа, може да си го ползваш като монитор, но при стартиране на филм примерно той не се вижда. На екрана се виждат само субтитрите без картина. ПС: За да не пускам нова тема, ще попитам тук: Всъщност в момента обмислям дали да не върна лаптопа понеже е с шест месечна гаранция. Ползвам го втори ден и принципно не виждам да загрява много, за разлика от служебният hp 6735s, който като се пусне започва от 50градуса и след час ако го натовариш достига 70-80 и клавиатурата е чувствително топла, явно трябва да се носи за почистване, а и до колкото знам понеже е с AMD процесор, те са по-големи "печки". Та мисълта ми беше, че този който взех уж бил в перфектно състояние, имаха 10-тина бройки и си избрах един произволен понеже нямаше инсталирана ОС за да го пробвам по-обстойно. Понеже не ми прави впечатление, да грее свикнал съм с онзи и този ми е направо студен. Все пак реших да го пробвам, тъй като не играя някакви игри прехвърлих по мрежата някаква игра mu online, която я играят тук в къщи и влязох с един акаунт в нея, разглеждах играта малко над половин час. Вентилатора се включи по едно време и започна да духа топъл въздух. От долу лаптопа не беше кой знае колко топъл нито отгоре малко около самият изход за вентилатора беше леко загряло и реших, че не е много, но все пак бях свалих програма за да проверя. Излязох от играта и пуснах CPUID HWMonitor, който отчете 75градуса, които започнаха да падат до 40-45, сложих му един cputemp да следя температурата в момента в който пиша отчита 38 като е отворен само chrome и аваст, сложил съм го на докинг станцията и е повдигнат може и това да си дава влияние. Пробвах го преди това като му пуснах блурей рип 720p филм 4гб температурата беше от порядъка на 48-61. На пипане не е кой знае колко топъл. Чудя се понеже фирмата е в другият край на града, дали да ходя да им го нося или да изчакам няколко седмици или месец.
  5. Здравехте, взех си лаптоп IBM T42, втора употреба, в много добро състояние. Видеокартата му е ATI MOBILITY RADEON 7500, има s-video изход, на който съм сложим кабел, с който съм го свързал с телевизор. От настройките на картата ми е активно менюто за тв. Виждат се десктопа и действията, които правя, както на екрана на лаптопа, така и на тв-то един вид режим "clone". Въпроса/проблема ми се състои в това, че при пускане на видео файл на лаптопа, той не се вижда на телевизора, екрана на плеъра седи черен на window mode, както и на fullscreen. Пробвах с KMPayer, PotPlayer и с media player classic. Възможно ли е да не може?. Ос: WinXP SP2. ПС: На този телевизор гледам от стационарен с нвидиа видео без проблем. Благодаря предварително на отзовалите се, ако трябва друга информация кажете. Поздрави!
  6. Честит празник на всички дами! Да сте ни живи и здрави!
  7. "жаковете" на старите ако е един само е и за двете и за kb и за mouse - при повечето машини. Трудно почти невъзможно да гледаш филми. В къщи имам 2 стари лаптопа единият отиде за части на другия, но беше 300Mhz 128ram 2Mb video - Dell Latitude Cpi Dx300 - ако не се лъжа, та преди да го разглобя подкарах едно vcd под DSL (Damn Small Linux), но пак имаше леки зацепвания на моменти, пускал съм и .divx филм, който много отдавна си бях правил с вградени субтитри за едно старо dvd. Вторият старт лаптоп който ползвам в момент е Compaq Armada 7770DMT, който е 233mhz 144ram 2mb video и 2gb хард, никакъв шанс да гледаш филми divx и xvid, не съм се занимавал да пробвам други варианти и кодеци, просто защото не виждам смисъл. Ноо... като се сетя, че преди много години съм гледал концерт на Melanie C , под един 486 s 512 или 256 kb видео мемори - под Dos! на резолюция не помня точно нещо от рода 160х120 (доста малка) и не помня колко цветове, но се брояха на пръсти, то гледане беше силно казано, но все пак . Така, че просто няма смисъл да се занимаваш. Ако не ти се занимава с linux-и, може да си ползваш това което си качил, ако има лан карта евентуално да се пробваш с интернет, макар че с тези флашове доста трудно се отварят сайтове, да не кажа и че не се отварят. Винаги може да се намери приложение, в най-лошият случая бях гледал в един сайт как да си направим фоторамка от стария лаптоп или примерно скрийнсейвър с горяща камина, аквариум . Ако е с повечко com портове знам че ги ползват за диагностика на коли. Може си го ползваш като тетрадка, да си четеш нещо. Да пишеш на нещо . Примерно аз го ползвам за Паскал(Lazarus) и чат пат за html/php . Така, че дори и да не могат да се гледат филми не е кой знае каква загуба. Пък и с 2000 щом е спокойно може да си слушаш музика с него примерно. Приложения колкото искаш. За старите Dos Games въобще пък няма да отварям дума .
  8. За жалост отново се нуждая от помощ :( Незнам във форума дали има хора, които да разбират от Паскал и пишат или са писали в Lazarus. Ако на някой знае и му се занимава да погледне кода по-долу. Аз ще продължавам да търся решение. Та става въпрос за следното: http://store.picbg.net/pubpic/30/29/67a9700589753029.jpg ще сложа целият код за да е по-ясно: unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Dialogs, FileUtil, Forms, Controls, Graphics, StdCtrls, Buttons; type { TForm1 } TForm1 = class(TForm) b_quit: TBitBtn; b_clear: TBitBtn; b_appendfile: TBitBtn; b_erasefile: TBitBtn; b_openfile: TBitBtn; b_createfile: TBitBtn; filename_edit: TEdit; Label1: TLabel; info_edit: TMemo; procedure b_appendfileClick(Sender: TObject); procedure b_clearClick(Sender: TObject); procedure b_createfileClick(Sender: TObject); procedure b_erasefileClick(Sender: TObject); procedure b_openfileClick(Sender: TObject); procedure b_quitClick(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } var tfile:TextFile; filename,info:string; error: integer; procedure TForm1.b_createfileClick(Sender: TObject); begin filename:=filename_edit.Text; info:=info_edit.Text; assignfile(tfile,filename); {$I-} rewrite(tfile); {$I+} error := IOResult; if error <> 0 then begin showmessage('Грешка!'); end else system.writeln(tfile,info); system.close(tfile); showmessage('Файлът ' + filename + ' е създаден!'); end; procedure TForm1.b_erasefileClick(Sender: TObject); begin filename:=filename_edit.Text; assignfile(tfile,filename); {$I-} erase(tfile); {$I+} error := IOResult; if error <> 0 then begin showMessage('Файлът ' + filename + ' не съществува!'); end else ShowMessage('Файлът ' + filename + ' е изтрит!'); end; procedure TForm1.b_appendfileClick(Sender: TObject); begin filename:=filename_edit.Text; info:=info_edit.Text; assignfile(tfile,filename); append(tfile); system.writeln(tfile,info); system.close(tfile); ShowMessage('Данните в ' + filename + ' са добавени успешно'); end; procedure TForm1.b_clearClick(Sender: TObject); begin filename_edit.Text:=''; info_edit.Text:=''; end; procedure TForm1.b_openfileClick(Sender: TObject); var readfile:string; begin filename:=filename_edit.Text; assignfile(tfile,filename); {$I-} reset(tfile); {$I+} error := IOResult; if error <> 0 then begin showMessage('Файлът ' + filename + ' не съществува или не може да бъде отворен!'); end else // как да покажа съдържанието на файла в info_edit:TMemo system.close(tfile); end; procedure TForm1.b_quitClick(Sender: TObject); begin close; end; end. Нуждая се от помощ за извеждането на текста от файла в info_edit:TMemo - в което въвеждам и самият текст. Създаването на файла, Добавянето на редове в него, Изтриването на файла, изчистването на полетата и бутона за изход от програмата си работят. ПС: Целта не ми е създаването на продобна програмка, а да си използвам тези неща в друга в която имам нужда, но за да ми е по-прегледно е съм я почнал отделно. Благодаря предварително, на отзовалите се. Поздрави!
  9. До колкото виждам това не значи ли, че си теглил ъпдейти и ще се инсталират или всъщност чакат да ги инсталираш, а и като гледам долу индикатора ъпдейтите са разрешени.
  10. Благодаря, получи се!. Колкото до 3.9 благодаря, че забеляза трябваше да е >= ама нищо то има още неща за изчистване . Благодаря още веднъж за помоща.
  11. Здравейте, нещо не мога да се справя с if и съм тотално блокирал, да не говорим че отдавна не съм писал на Паскал (има няма над 12-тина години), но ми се наложи да направя една програма за изчисление и зациклих тук, ако може някой да помогне: modul:=5-(preminali_6+preminali_5+preminali_4+preminali_3+preminali_2)/100; modul_edit.Text:=FloatToStrf(modul,ffFixed,5,2); if (modul<2) or (modul>3.9) then begin vid:='Грешка'; vid_edit.Text:=vid; end; if (modul=2) or (modul=2.1) or (modul=2.2) or (modul=2.3) or (modul=2.4) or (modul=2.5) or (modul=2.5) then begin vid:='Ситен'; vid_edit.Text:=vid; end; if (modul=2.6) or (modul=2.7) or (modul=2.8) or (modul=2.9) or (modul=3.0) or (modul=3.1) or (modul=3.2) then begin vid:='Среден'; vid_edit.Text:=vid; end; if (modul=3.3) or (modul=3.4) or (modul=3.5) or (modul=3.6) or (modul=3.7) or (modul=3.8) then begin vid:='Едър'; vid_edit.Text:=vid; end; end; Лошото е че, не получавам грешка и проекта се компилира. След изчисленията обаче действа само зададеното на първият if т.е. извеждането в полето текста "Грешка". В смисъл извежда се текста, само ако крайният резултат т.е. "modul" е по-малък от 2 и по-голям от 3.9 - което е зададено в първият if. При друг резултат извън диапазона на дефинирата от мен "Грешка" не се извежда нищо. Т.е. дори и да е в диапазона на "Ситен", "Среден" и "Едър" не се извежда нищо, полето е празно. Нещо някъде бъркам, но не мога да схвана къде.
  12. Искам да попитам нещо: Възможно ли е примерно колони (с размер 8.43)- B,C,D попълвам някакви числа в B2, C2,D2, B3,C3,D3. мога ли да ги "заключа" по такъв начин, че ако реша да увеличавам или намалявам размера на тези колони в последствие B2, C2,D2, B3,C3,D3 да си останат с различен размер Един вид да си заключвам определени "позиции" които да не се променят ако се промени глобално размера на колоната. Надявам се да сте ме разбрали. Благодаря на всички отзовали се. Поздрави!
  13. Значи предполагам че не е това но все пак. Като се пусне сървърчето горе е по-подразбиране на 8080 а не на 80 - предполагам си го поправил и не е това но все пак
  14. Интересна новина гледам че са пуснали майл-и на всички потребители. Мога да кажа само добри неща за тях, но няма да ползвам Премиум-а, просто лично за мен не виждам смисъл, колкото до идеята - ако се махнат вирусите, грешните линкове и се филтрират повечко коментари и друго - ще е добре, но ако е само опит за печелене на пари :( . Дано тези допълнителни приходи да мотивират екипа за по-добра работа за напред(не че е било зле). Успех им пожелавам!
×
×
  • Създай ново...