Advanced Python Programming (4321602) - Winter 2024 Solution (Gujarati)

Advanced Python Programming (4321602) Winter 2024 પરીક્ષા માટે ઉકેલ માર્ગદર્શિકા

પ્રશ્ન 1(અ) [3 માર્ક્સ]

પાયથનમાં સેટ અને ડિક્શનરી વચ્ચેનો તફાવત લખો.

જવાબ:

લક્ષણસેટડિક્શનરી
ડેટા સ્ટોરેજફક્ત યુનિક એલિમેન્ટ્સ સ્ટોર કરેકી-વેલ્યુ પેર સ્ટોર કરે
ક્રમઅનઓર્ડર્ડ કલેક્શનઓર્ડર્ડ (Python 3.7+)
ડુપ્લિકેટ્સડુપ્લિકેટ્સની મંજૂરી નથીકીઝ યુનિક હોવી જોઈએ
એક્સેસઈન્ડેક્સ દ્વારા એક્સેસ કરી શકાતું નથીકીઝ દ્વારા વેલ્યુઝ એક્સેસ કરવા
સિન્ટેક્સ{1, 2, 3}{'key': 'value'}
  • સેટ: યુનિક, અનઓર્ડર્ડ એલિમેન્ટ્સનો કલેક્શન
  • ડિક્શનરી: યુનિક કીઝ સાથે કી-વેલ્યુ પેરનો કલેક્શન

મેમરી ટ્રીક: "સેટ્સ યુનિક, ડિક્ટ્સ કીઝ વાળા"

પ્રશ્ન 1(બ) [4 માર્ક્સ]

પાયથોનમાં લિસ્ટ ઉદાહરણ સાથે સમજાવો.

જવાબ:

લિસ્ટ એક ઓર્ડર્ડ, મ્યુટેબલ કલેક્શન છે જે વિવિધ ડેટા ટાઈપ્સ સ્ટોર કરી શકે છે.

લિસ્ટ ઓપરેશન્સનું ટેબલ:

ઓપરેશનસિન્ટેક્સઉદાહરણ
બનાવવુંlist_name = []fruits = ['apple', 'banana']
એક્સેસlist[index]fruits[0] રિટર્ન 'apple'
ઉમેરવુંappend()fruits.append('orange')
હટાવવુંremove()fruits.remove('apple')
Python
  • ઓર્ડર્ડ: એલિમેન્ટ્સ તેમની પોઝિશન જાળવે છે
  • મ્યુટેબલ: બનાવ્યા પછી મોડિફાઈ કરી શકાય છે
  • ફ્લેક્સિબલ: કોઈપણ ડેટા ટાઈપ સ્ટોર કરે છે

મેમરી ટ્રીક: "લિસ્ટ્સ ઓર્ડર્ડ અને મોડિફાઈ કરી શકાય તેવી"

પ્રશ્ન 1(ક) [7 માર્ક્સ]

પાયથોનમાં ટપલ શું છે? બે ટપલ વેલ્યુને અદલાબદલી કરવાનો પાયથન પ્રોગ્રામ લખો.

જવાબ:

ટપલ એક ઓર્ડર્ડ, ઈમ્યુટેબલ કલેક્શન છે જે મલ્ટિપલ આઈટમ્સ સ્ટોર કરે છે.

ટપલના લક્ષણોનું ટેબલ:

પ્રોપર્ટીવર્ણનઉદાહરણ
ઈમ્યુટેબલબનાવ્યા પછી બદલી શકાતું નથીt = (1, 2, 3)
ઓર્ડર્ડએલિમેન્ટ્સનો નિર્ધારિત ક્રમઈન્ડેક્સ દ્વારા એક્સેસ
ડુપ્લિકેટ્સડુપ્લિકેટ વેલ્યુઝની મંજૂરી(1, 1, 2)
ઈન્ડેક્સિંગપોઝિશન દ્વારા એલિમેન્ટ્સ એક્સેસt[0]
Python
  • ઈમ્યુટેબલ: એકવાર બનાવ્યા પછી મોડિફાઈ કરી શકાતું નથી
  • ઓર્ડર્ડ: એલિમેન્ટ સિક્વન્સ જાળવે છે
  • હેટેરોજીનિયસ: વિવિધ ડેટા ટાઈપ્સ સ્ટોર કરી શકે છે

મેમરી ટ્રીક: "ટપલ્સ ઈમ્યુટેબલ અને ઓર્ડર્ડ"

પ્રશ્ન 1(ક OR) [7 માર્ક્સ]

પાયથોનમાં ડિક્શનરી શું છે? લૂપની મદદથી ડિક્શનરીને ટ્રાવર્સ કરવાનો પાયથન પ્રોગ્રામ લખો.

જવાબ:

ડિક્શનરી એક યુનિક કીઝ સાથે કી-વેલ્યુ પેરનો અનઓર્ડર્ડ કલેક્શન છે.

ડિક્શનરી મેથડ્સનું ટેબલ:

મેથડહેતુઉદાહરણ
keys()બધી કીઝ મેળવોdict.keys()
values()બધી વેલ્યુઝ મેળવોdict.values()
items()કી-વેલ્યુ પેર મેળવોdict.items()
get()સેફ કી એક્સેસdict.get('key')
Python
  • કી-વેલ્યુ સ્ટોરેજ: દરેક કી એક વેલ્યુ સાથે મેપ થાય છે
  • યુનિક કીઝ: ડુપ્લિકેટ કીઝની મંજૂરી નથી
  • ફાસ્ટ લુકઅપ: O(1) એવરેજ ટાઈમ કોમ્પ્લેક્સિટી

મેમરી ટ્રીક: "ડિક્ટ્સ કીઝને વેલ્યુઝ સાથે મેપ કરે"

પ્રશ્ન 2(અ) [3 માર્ક્સ]

પેકેજ શું છે? પેકેજનો ઉપયોગ કરવાના ફાયદાઓની યાદી આપો.

જવાબ:

પેકેજ એક ડિરેક્ટરી છે જેમાં મલ્ટિપલ મોડ્યુલ્સ એકસાથે ઓર્ગેનાઈઝ કરવામાં આવે છે.

પેકેજના ફાયદાઓનું ટેબલ:

ફાયદોવર્ણન
ઓર્ગેનાઈઝેશનસંબંધિત મોડ્યુલ્સને એકસાથે ગ્રુપ કરે
નેમસ્પેસનામિંગ કોન્ફ્લિક્ટ્સ ટાળે
રીયુઝેબિલિટીકોડ પ્રોજેક્ટ્સમાં ફરીથી વાપરી શકાય
મેઈન્ટેનેબિલિટીમોટા કોડબેસ મેનેજ કરવું સરળ
ડિસ્ટ્રિબ્યુશનશેર કરવું અને ઈન્સ્ટોલ કરવું સરળ
  • મોડ્યુલર સ્ટ્રક્ચર: વધુ સારું કોડ ઓર્ગેનાઈઝેશન
  • હાયરાર્કિકલ નેમસ્પેસ: નેમ કોન્ફ્લિક્ટ્સ અટકાવે
  • કોડ રીયુઝ: સોફ્ટવેર રીયુઝેબિલિટીને પ્રમોટ કરે

મેમરી ટ્રીક: "પેકેજિસ રિલેટેડ મોડ્યુલ્સ ઓર્ગેનાઈઝ કરે"

પ્રશ્ન 2(બ) [4 માર્ક્સ]

કોઈપણ બે પેકેજ આયાત પદ્ધતિઓ ઉદાહરણો સાથે સમજાવો.

જવાબ:

આયાત મેથડ્સનું ટેબલ:

મેથડસિન્ટેક્સઉપયોગ
નોર્મલ આયાતimport package.moduleફુલ પાથ સાથે એક્સેસ
ફ્રમ આયાતfrom package import moduleડાયરેક્ટ મોડ્યુલ એક્સેસ
સ્પેસિફિક આયાતfrom package.module import functionસ્પેસિફિક આઈટમ્સ આયાત
વાઈલ્ડકાર્ડ આયાતfrom package import *બધા મોડ્યુલ્સ આયાત
Python
  • નોર્મલ આયાત: ફુલ પેકેજ પાથ જરૂરી
  • ફ્રમ આયાત: ડાયરેક્ટ મોડ્યુલ એક્સેસની મંજૂરી
  • સ્પેસિફિક ફંક્શન આયાત: ફક્ત જરૂરી ફંક્શન્સ આયાત

મેમરી ટ્રીક: "આયાત નોર્મલી અથવા પેકેજથી"

પ્રશ્ન 2(ક) [7 માર્ક્સ]

ઈન્ટ્રા-પેકેજ સંદર્ભ વિશે ઉદાહરણ સાથે સમજાવો.

જવાબ:

ઈન્ટ્રા-પેકેજ રેફરન્સ પેકેજની અંદરના મોડ્યુલ્સને એકબીજાથી આયાત કરવાની મંજૂરી આપે છે.

પેકેજ સ્ટ્રક્ચરનો ડાયાગ્રામ:

goat

રેફરન્સ ટાઈપ્સનું ટેબલ:

ટાઈપસિન્ટેક્સઉપયોગ
એબ્સોલ્યુટfrom mypackage.math_ops import basicપેકેજ રૂટથી ફુલ પાથ
રિલેટિવfrom . import basicવર્તમાન પેકેજ
પેરન્ટfrom .. import utilsપેરન્ટ પેકેજ
સિબલિંગfrom ..utils import helpersસિબલિંગ પેકેજ
Python
  • રિલેટિવ આયાત્સ: વર્તમાન પેકેજ માટે ડોટ્સ (.) વાપરો
  • એબ્સોલ્યુટ આયાત્સ: ફુલ પેકેજ પાથ
  • પેકેજ હાયરાર્કી: ડોટ નોટેશન વાપરીને નેવિગેટ કરો

મેમરી ટ્રીક: "ડોટ્સ પેકેજ લેવલ્સ નેવિગેટ કરે"

પ્રશ્ન 2(અ OR) [3 માર્ક્સ]

મોડ્યુલ શું છે? મોડ્યુલનો ઉપયોગ કરવાના ફાયદાઓની યાદી આપો.

જવાબ:

મોડ્યુલ એક Python ફાઈલ છે જેમાં ડેફિનિશન્સ, સ્ટેટમેન્ટ્સ અને ફંક્શન્સ હોય છે.

મોડ્યુલના ફાયદાઓનું ટેબલ:

ફાયદોવર્ણન
કોડ રીયુઝેબિલિટીએકવાર લખો, અનેક વાર વાપરો
નેમસ્પેસફંક્શન્સ માટે અલગ નેમસ્પેસ
ઓર્ગેનાઈઝેશનવધુ સારું કોડ સ્ટ્રક્ચર
મેઈન્ટેનેબિલિટીડિબગ અને અપડેટ કરવું સરળ
કોલેબોરેશનમલ્ટિપલ ડેવલપર્સ કામ કરી શકે
  • રીયુઝેબલ કોડ: ફંક્શન્સ ગમે ત્યાં આયાત કરી શકાય
  • મોડ્યુલર ડિઝાઈન: મોટા પ્રોગ્રામ્સને નાના ભાગોમાં વહેંચો
  • સરળ મેઈન્ટેનન્સ: એક જગ્યાએ ફેરફાર બધી આયાત્સને અસર કરે

મેમરી ટ્રીક: "મોડ્યુલ્સ કોડ રીયુઝેબલ બનાવે"

પ્રશ્ન 2(બ OR) [4 માર્ક્સ]

કોઈપણ બે મોડ્યુલ આયાત પદ્ધતિ ઉદાહરણ સાથે સમજાવો.

જવાબ:

મોડ્યુલ આયાત મેથડ્સનું ટેબલ:

મેથડસિન્ટેક્સએક્સેસ પેટર્ન
ડાયરેક્ટ આયાતimport module_namemodule_name.function()
ફ્રમ આયાતfrom module_name import functionfunction()
એલિયાસ આયાતimport module_name as aliasalias.function()
વાઈલ્ડકાર્ડ આયાતfrom module_name import *function()
Python
  • ડાયરેક્ટ આયાત: મોડ્યુલ નામ પ્રીફિક્સ સાથે એક્સેસ
  • ફ્રમ આયાત: પ્રીફિક્સ વગર ડાયરેક્ટ ફંક્શન એક્સેસ
  • નેમસ્પેસ કંટ્રોલ: યોગ્ય આયાત મેથડ પસંદ કરો

મેમરી ટ્રીક: "આયાત ડાયરેક્ટલી અથવા મોડ્યુલથી"

પ્રશ્ન 2(ક OR) [7 માર્ક્સ]

વતુળનું ક્ષેત્રફળ અને પરિઘ શોધવા માટેના મોડ્યુલનો પ્રોગ્રામ લખો.

જવાબ:

Python

મોડ્યુલ ફીચર્સનું ટેબલ:

ફીચરઇમ્પ્લિમેન્ટેશન
ફંક્શન્સarea(), circumference()
એરર હેન્ડલિંગનેગેટિવ ત્રિજ્યા માટે ચેક
કોન્સ્ટન્ટ્સPI વેલ્યુ
ડોક્યુમેન્ટેશનફંક્શન ડોકસ્ટ્રિંગ્સ
  • મોડ્યુલ બનાવવું: ફંક્શન્સને .py ફાઈલમાં સેવ કરો
  • આયાત લવચીકતા: સંપૂર્ણ મોડ્યુલ અથવા ચોક્કસ ફંક્શન્સ
  • કોડ રીયુઝ: એક જ ફંક્શન્સ મલ્ટિપલ પ્રોગ્રામ્સમાં વાપરો

મેમરી ટ્રીક: "મોડ્યુલ્સમાં રીયુઝેબલ ફંક્શન્સ હોય"

પ્રશ્ન 3(અ) [3 માર્ક્સ]

પાયથોનમાં ભૂલના પ્રકારો સમજાવો.

જવાબ:

Python એરર ટાઈપ્સનું ટેબલ:

એરર ટાઈપવર્ણનઉદાહરણ
સિન્ટેક્સ એરરખોટું Python સિન્ટેક્સકોલન : ભૂલી જવું
રનટાઈમ એરરએક્ઝિક્યુશન દરમિયાન થાયશૂન્યથી ભાગાકાર
લોજિકલ એરરખોટું પ્રોગ્રામ લોજિકખોટું અલ્ગોરિધમ
નેમ એરરઅંડિફાઈન્ડ વેરિએબલઅઘોષિત વેરિએબલ વાપરવું
ટાઈપ એરરખોટું ડેટા ટાઈપ ઓપરેશનસ્ટ્રિંગ + ઇન્ટિજર
  • સિન્ટેક્સ એરર: પ્રોગ્રામ રન થાય તે પહેલાં શોધાય
  • રનટાઈમ એરર: પ્રોગ્રામ એક્ઝિક્યુશન દરમિયાન થાય
  • લોજિકલ એરર: પ્રોગ્રામ રન થાય પણ ખોટા પરિણામ આપે

મેમરી ટ્રીક: "સિન્ટેક્સ, રનટાઈમ, લોજિક એરર્સ"

પ્રશ્ન 3(બ) [4 માર્ક્સ]

યુઝર-ડિફાઈન્ડ એક્સેપ્શન રેઈઝ સ્ટેટમેન્ટ સાથે સમજાવો.

જવાબ:

યુઝર-ડિફાઈન્ડ એક્સેપ્શન્સ પ્રોગ્રામર્સ દ્વારા બનાવવામાં આવેલા કસ્ટમ એરર ક્લાસીસ છે.

એક્સેપ્શન કોમ્પોનન્ટ્સનું ટેબલ:

કોમ્પોનન્ટહેતુઉદાહરણ
ક્લાસ ડેફિનિશનકસ્ટમ એક્સેપ્શન બનાવોclass CustomError(Exception):
રેઈઝ સ્ટેટમેન્ટએક્સેપ્શન ટ્રિગર કરોraise CustomError("message")
એરર મેસેજસમસ્યાનું વર્ણનમાહિતીપ્રદ ટેક્સ્ટ
એક્સેપ્શન હેન્ડલિંગકસ્ટમ એક્સેપ્શન પકડોexcept CustomError:
Python
  • કસ્ટમ એક્સેપ્શન ક્લાસ: Exception થી ઇન્હેરિટ કરે
  • રેઈઝ સ્ટેટમેન્ટ: મેન્યુઅલી એક્સેપ્શન્સ ટ્રિગર કરે
  • અર્થપૂર્ણ મેસેજિસ: ડિબગિંગમાં મદદ કરે

મેમરી ટ્રીક: "વેલિડેશન માટે કસ્ટમ એક્સેપ્શન રેઈઝ કરો"

પ્રશ્ન 3(ક) [7 માર્ક્સ]

ટ્રાય-એક્સેપ્ટ-ફાઈનલી ક્લોઝ ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટ્રાય-એક્સેપ્ટ-ફાઈનલી સંપૂર્ણ એક્સેપ્શન હેન્ડલિંગ મિકેનિઝમ પૂરું પાડે છે.

એક્સેપ્શન હેન્ડલિંગ બ્લોક્સનું ટેબલ:

બ્લોકહેતુએક્ઝિક્યુશન
tryએક્સેપ્શન ઉઠાવી શકે તેવો કોડહંમેશા પહેલા એક્ઝિક્યુટ
exceptચોક્કસ એક્સેપ્શન્સ હેન્ડલ કરેફક્ત એક્સેપ્શન આવે તો
elseકોઈ એક્સેપ્શન નહીં આવે ત્યારેફક્ત કોઈ એક્સેપ્શન નહીં આવે તો
finallyક્લીનઅપ કોડહંમેશા એક્ઝિક્યુટ થાય
Python

ફ્લો ડાયાગ્રામ:

  • try: જોખમી કોડ હોય છે
  • except: ચોક્કસ એરર્સ હેન્ડલ કરે
  • finally: ક્લીનઅપ માટે હંમેશા એક્ઝિક્યુટ થાય

મેમરી ટ્રીક: "ટ્રાય-એક્સેપ્ટ-ફાઈનલી હંમેશા ક્લીન કરે"

પ્રશ્ન 3(અ OR) [3 માર્ક્સ]

બિલ્ટ-ઇન એક્સેપ્શન શું છે? કોઇ પણ બેની તેમના અર્થ સાથે યાદી બનાવો.

જવાબ:

બિલ્ટ-ઇન એક્સેપ્શન્સ Python માં પૂર્વ-નિર્ધારિત એરર ટાઈપ્સ છે.

બિલ્ટ-ઇન એક્સેપ્શન્સનું ટેબલ:

એક્સેપ્શનઅર્થઉદાહરણ
ValueErrorયોગ્ય ટાઈપ પણ અમાન્ય વેલ્યુint("abc")
TypeErrorખોટું ડેટા ટાઈપ ઓપરેશન"5" + 5
IndexErrorલિસ્ટ ઇન્ડેક્સ રેન્જની બહાર5-આઇટમ લિસ્ટ માટે list[10]
KeyErrorડિક્શનરી કી મળી નહીંdict["missing_key"]
ZeroDivisionErrorશૂન્યથી ભાગાકાર10 / 0

બે મુખ્ય બિલ્ટ-ઇન એક્સેપ્શન્સ:

  • ValueError: જ્યારે ફંક્શનને યોગ્ય ટાઈપ પણ અમાન્ય વેલ્યુ મળે
  • TypeError: જ્યારે અયોગ્ય ડેટા ટાઈપ પર ઓપરેશન કરવામાં આવે

મેમરી ટ્રીક: "બિલ્ટ-ઇન એક્સેપ્શન્સ સામાન્ય એરર્સ હેન્ડલ કરે"

પ્રશ્ન 3(બ OR) [4 માર્ક્સ]

ટ્રાય-એક્સેપ્ટ ક્લોઝ ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટ્રાય-એક્સેપ્ટ પ્રોગ્રામ એક્ઝિક્યુશન દરમિયાન આવી શકે તેવા એક્સેપ્શન્સ હેન્ડલ કરે છે.

એક્સેપ્શન હેન્ડલિંગનું ટેબલ:

કોમ્પોનન્ટહેતુસિન્ટેક્સ
tryનિષ્ફળ થઈ શકે તેવો કોડtry:
exceptચોક્કસ એક્સેપ્શન હેન્ડલ કરેexcept ErrorType:
મલ્ટિપલ exceptવિવિધ એરર્સ હેન્ડલ કરેમલ્ટિપલ except બ્લોક્સ
જનરલ exceptકોઈપણ એક્સેપ્શન પકડેexcept:
Python
  • try બ્લોક: સંભવિત જોખમી કોડ હોય છે
  • except બ્લોક: ચોક્કસ એક્સેપ્શન ટાઈપ્સ હેન્ડલ કરે
  • મલ્ટિપલ હેન્ડલર્સ: વિવિધ એક્સેપ્શન્સ અલગ અલગ હેન્ડલ

મેમરી ટ્રીક: "જોખમી કોડ ટ્રાય કરો, એક્સેપ્ટ એરર્સ હેન્ડલ કરે"

પ્રશ્ન 3(ક OR) [7 માર્ક્સ]

ડિવાઇડ બાય ઝીરો એક્સેપ્શન ફાઈનલી ક્લોઝ સાથે કેચ કરવાનો પ્રોગ્રામ લખો.

જવાબ:

Python

એક્સેપ્શન હેન્ડલિંગ ફીચર્સનું ટેબલ:

ફીચરઇમ્પ્લિમેન્ટેશન
ZeroDivisionErrorશૂન્યથી ભાગાકાર માટે ચોક્કસ હેન્ડલિંગ
ValueErrorઅમાન્ય ઇનપુટ ટાઈપ્સ હેન્ડલ કરે
જનરિક એક્સેપ્શનઅનપેક્ષિત એરર્સ પકડે
ફાઈનલી બ્લોકહંમેશા ક્લીનઅપ કોડ એક્ઝિક્યુટ

એક્સેપ્શન હેન્ડલિંગ ફ્લો:

  • ચોક્કસ એક્સેપ્શન હેન્ડલિંગ: ZeroDivisionError અલગથી પકડાય
  • ફાઈનલી ક્લોઝ: ક્લીનઅપ માટે હંમેશા એક્ઝિક્યુટ થાય
  • રિસોર્સ મેનેજમેન્ટ: એરર્સ છતાં યોગ્ય ક્લીનઅપ

મેમરી ટ્રીક: "ફાઈનલી હંમેશા રિસોર્સિસ ક્લીન કરે"

પ્રશ્ન 4(અ) [3 માર્ક્સ]

વ્યાખ્યાયિત કરો: ફાઇલ, બાઇનરી ફાઇલ, ટેક્સ્ટ ફાઇલ

જવાબ:

ફાઈલ વ્યાખ્યાઓનું ટેબલ:

શબ્દવ્યાખ્યાઉદાહરણ
ફાઈલડિસ્ક પર નામવાળું સ્ટોરેજ સ્થાનdocument.txt, image.jpg
બાઈનરી ફાઈલબાઈનરી ફોર્મેટમાં નોન-ટેક્સ્ટ ડેટા સમાવે.exe, .jpg, .mp3, .pdf
ટેક્સ્ટ ફાઈલમાનવ-વાંચી શકાય તેવા ટેક્સ્ટ કેરેક્ટર્સ સમાવે.txt, .py, .html, .csv

વિગતવાર વ્યાખ્યાઓ:

  • ફાઈલ: સ્ટોરેજ ડિવાઈસ પર યુનિક નામ સાથે સ્ટોર કરેલો ડેટાનો કલેક્શન
  • બાઈનરી ફાઈલ: બાઈનરી ફોર્મેટ (0s અને 1s) માં ડેટા સ્ટોર કરે, માનવ-વાંચી ન શકાય
  • ટેક્સ્ટ ફાઈલ: ASCII અથવા Unicode કેરેક્ટર્સ સમાવે, માનવ-વાંચી શકાય તેવું ફોર્મેટ

મેમરી ટ્રીક: "ફાઈલ્સ ડેટા સ્ટોર કરે, બાઈનરી=મશીન, ટેક્સ્ટ=માનવ"

પ્રશ્ન 4(બ) [4 માર્ક્સ]

write() અને writelines() ફંક્શન ઉદાહરણ સાથે સમજાવો.

જવાબ:

રાઈટ ફંક્શન્સનું ટેબલ:

ફંક્શનહેતુપેરામીટરઉપયોગ
write()સિંગલ સ્ટ્રિંગ લખેસ્ટ્રિંગfile.write("Hello")
writelines()સ્ટ્રિંગ્સની લિસ્ટ લખેલિસ્ટ/સિક્વન્સfile.writelines(["line1", "line2"])
Python

મુખ્ય તફાવતો:

  • write(): એક સમયે એક સ્ટ્રિંગ લખે
  • writelines(): સિક્વન્સમાંથી મલ્ટિપલ સ્ટ્રિંગ્સ લખે
  • ન્યુલાઈન્સ: \n મેન્યુઅલી ઉમેરવું પડે
  • રિટર્ન વેલ્યુ: બંને લખાયેલા કેરેક્ટર્સની સંખ્યા રિટર્ન કરે

મેમરી ટ્રીક: "write() સિંગલ, writelines() મલ્ટિપલ"

પ્રશ્ન 4(ક) [7 માર્ક્સ]

tell() અને seek() ફંક્શન ઉદાહરણ સાથે સમજાવો.

જવાબ:

ફાઈલ પોઈન્ટર ફંક્શન્સ ફાઈલની અંદર રીડિંગ/રાઈટિંગ માટે પોઝિશન કંટ્રોલ કરે છે.

પોઝિશન ફંક્શન્સનું ટેબલ:

ફંક્શનહેતુરિટર્ન/પેરામીટરઉપયોગ
tell()વર્તમાન પોઝિશન મેળવોવર્તમાન બાઈટ પોઝિશન રિટર્નpos = file.tell()
seek(offset, whence)ચોક્કસ પોઝિશન પર જાઓoffset: બાઈટ્સ, whence: રેફરન્સfile.seek(10, 0)

Seek Whence વેલ્યુઝ:

વેલ્યુરેફરન્સ પોઈન્ટવર્ણન
0ફાઈલની શરૂઆતએબ્સોલ્યુટ પોઝિશનિંગ
1વર્તમાન પોઝિશનવર્તમાનના સંબંધમાં
2ફાઈલનો અંતઅંતના સંબંધમાં
Python

પોઝિશન કંટ્રોલ ડાયાગ્રામ:

  • tell(): ફાઈલમાં વર્તમાન બાઈટ પોઝિશન રિટર્ન કરે
  • seek(): ફાઈલ પોઈન્ટરને સ્પેસિફાઈડ પોઝિશન પર મૂવ કરે
  • પોઝિશનિંગ: રેન્ડમ ફાઈલ એક્સેસ માટે જરૂરી
  • બાઈનરી મોડ: બાઈટ પોઝિશન્સ સાથે કામ કરે

મેમરી ટ્રીક: "tell() પોઝિશન, seek() મૂવમેન્ટ"

પ્રશ્ન 4(અ OR) [3 માર્ક્સ]

એબ્સોલ્યુટ અને રિલેટિવ પાથ શું છે?

જવાબ:

પાથ ટાઈપ્સનું ટેબલ:

પાથ ટાઈપવર્ણનઉદાહરણ
એબ્સોલ્યુટ પાથરૂટ ડિરેક્ટરીથી સંપૂર્ણ પાથ/home/user/documents/file.txt
રિલેટિવ પાથવર્તમાન ડિરેક્ટરીના સંબંધમાં પાથ../documents/file.txt

પાથ સિમ્બોલ્સ:

સિમ્બોલઅર્થઉદાહરણ
/રૂટ ડિરેક્ટરી (Linux/Mac)/home/user/
C:\ડ્રાઈવ લેટર (Windows)C:\\Users\\Documents\\
.વર્તમાન ડિરેક્ટરી./file.txt
..પેરન્ટ ડિરેક્ટરી../folder/file.txt
  • એબ્સોલ્યુટ: સિસ્ટમ રૂટથી સંપૂર્ણ પાથ
  • રિલેટિવ: વર્તમાન વર્કિંગ ડિરેક્ટરીથી પાથ

મેમરી ટ્રીક: "એબ્સોલ્યુટ રૂટથી, રિલેટિવ વર્તમાનથી"

પ્રશ્ન 4(બ OR) [4 માર્ક્સ]

બાયનરી અને ટેક્સ્ટ ફાઇલ ખોલવાના વિવિધ મોડ સમજાવો.

જવાબ:

ફાઈલ ઓપનિંગ મોડ્સનું ટેબલ:

મોડટાઈપહેતુફાઈલ પોઈન્ટર
'r'ટેક્સ્ટફક્ત વાંચવાશરૂઆત
'w'ટેક્સ્ટલખવા (ઓવરરાઈટ)શરૂઆત
'a'ટેક્સ્ટઉમેરવાઅંત
'rb'બાઈનરીબાઈનરી વાંચવાશરૂઆત
'wb'બાઈનરીબાઈનરી લખવાશરૂઆત
'ab'બાઈનરીબાઈનરી ઉમેરવાઅંત
'r+'ટેક્સ્ટવાંચવા અને લખવાશરૂઆત
'w+'ટેક્સ્ટલખવા અને વાંચવાશરૂઆત
Python
  • ટેક્સ્ટ મોડ્સ: એન્કોડિંગ સાથે સ્ટ્રિંગ ડેટા હેન્ડલ કરે
  • બાઈનરી મોડ્સ: એન્કોડિંગ વગર રો બાઈટ્સ હેન્ડલ કરે
  • પ્લસ મોડ્સ: રીડિંગ અને રાઈટિંગ બંનેની મંજૂરી

મેમરી ટ્રીક: "ટેક્સ્ટ સ્ટ્રિંગ્સ માટે, બાઈનરી બાઈટ્સ માટે"

પ્રશ્ન 4(ક OR) [7 માર્ક્સ]

વિદ્યાર્થીના વિષય રેકોર્ડ જેવાં કે શાખાનું નામ, સેમેસ્ટર, વિષયનો કોડ અને વિષયનું નામ બાઇનરી ફાઇલમાં લખવા માટેનો પ્રોગ્રામ લખો.

જવાબ:

Python

બાઈનરી ફાઈલ ઓપરેશન્સનું ટેબલ:

ઓપરેશનમેથડહેતુ
લખવુંpickle.dump()ઓબ્જેક્ટ્સને બાઈનરીમાં સીરિયલાઈઝ
વાંચવુંpickle.load()બાઈનરીમાંથી ઓબ્જેક્ટ્સ ડીસીરિયલાઈઝ
ઉમેરવુંવાંચવું + ઉમેરવું + લખવુંનવા રેકોર્ડ્સ ઉમેરો
શોધવુંલોડ કરેલો ડેટા ફિલ્ટરચોક્કસ રેકોર્ડ્સ શોધો

બાઈનરી ફાઈલ સ્ટ્રક્ચર:

  • બાઈનરી સ્ટોરેજ: ઓબ્જેક્ટ સીરિયલાઈઝેશન માટે pickle વાપરે
  • કાર્યક્ષમ સ્ટોરેજ: કોમ્પેક્ટ બાઈનરી ફોર્મેટ
  • ઓબ્જેક્ટ પ્રિઝર્વેશન: ડેટા સ્ટ્રક્ચર ઈન્ટેગ્રિટી જાળવે
  • ક્રોસ-પ્લેટફોર્મ: વિવિધ ઓપરેટિંગ સિસ્ટમ્સ પર કામ કરે

મેમરી ટ્રીક: "Pickle Python ઓબ્જેક્ટ્સ પ્રિઝર્વ કરે"

પ્રશ્ન 5(અ) [3 માર્ક્સ]

વ્યાખ્યાયિત કરો: GUI, CLI

જવાબ:

ઈન્ટરફેસ વ્યાખ્યાઓનું ટેબલ:

શબ્દપૂરું નામવર્ણનઉદાહરણ
GUIGraphical User Interfaceવિન્ડોઝ, બટન્સ, આઈકોન્સ સાથે વિઝ્યુઅલ ઈન્ટરફેસWindows, Mac ડેસ્કટોપ
CLICommand Line Interfaceકમાન્ડ્સ વાપરીને ટેક્સ્ટ-આધારિત ઈન્ટરફેસટર્મિનલ, કમાન્ડ પ્રોમ્પ્ટ

મુખ્ય તફાવતો:

  • GUI: યુઝર-ફ્રેન્ડલી, માઉસ-ડ્રિવન, વિઝ્યુઅલ એલિમેન્ટ્સ
  • CLI: ટેક્સ્ટ-આધારિત, કીબોર્ડ-ડ્રિવન, કમાન્ડ સિન્ટેક્સ
  • ઈન્ટરેક્શન: GUI ક્લિક્સ વાપરે, CLI ટાઈપ કરેલા કમાન્ડ્સ વાપરે

મેમરી ટ્રીક: "GUI ગ્રાફિક્સ, CLI કમાન્ડ્સ"

પ્રશ્ન 5(બ) [4 માર્ક્સ]

ટર્ટલનો ઉપયોગ કરીને for અને while લૂપનો ઉપયોગ કરીને ચોરસ આકાર દોરવા માટે પાયથોન પ્રોગ્રામ લખો.

જવાબ:

Python

લૂપ કમ્પેરિઝનનું ટેબલ:

લૂપ ટાઈપસ્ટ્રક્ચરઉપયોગકંટ્રોલ
for લૂપfor i in range(4):જાણીતા ઈટરેશન્સકાઉન્ટર-આધારિત
while લૂપwhile condition:કન્ડિશનલ ઈટરેશન્સકન્ડિશન-આધારિત
  • for લૂપ: જાણીતી સંખ્યાના ઈટરેશન્સ માટે શ્રેષ્ઠ
  • while લૂપ: કન્ડિશન-આધારિત રિપેટિશન માટે શ્રેષ્ઠ
  • બંને અચીવ કરે: એક જ ચોરસ દોરવાનું પરિણામ

મેમરી ટ્રીક: "For કાઉન્ટ, While કન્ડિશન"

પ્રશ્ન 5(ક) [7 માર્ક્સ]

ટર્ટલનો ઉપયોગ કરીને ચેસબોર્ડ દોરવા માટે પાયથોન પ્રોગ્રામ લખો.

જવાબ:

Python

ચેસબોર્ડ કોમ્પોનન્ટ્સનું ટેબલ:

કોમ્પોનન્ટઇમ્પ્લિમેન્ટેશનહેતુ
ચોરસ8x8 ગ્રિડ ઓલ્ટર્નેટિંગ કલર્સમુખ્ય બોર્ડ પેટર્ન
રંગોકાળો અને સફેદ ઓલ્ટર્નેટિંગપરંપરાગત ચેસ પેટર્ન
બોર્ડરબ્રાઉન રેક્ટેંગલ આઉટલાઈનબોર્ડને ફ્રેમ કરો
લેબલ્સA-H કોલમ્સ, 1-8 રોઝચેસ નોટેશન
પીસીસયુનિકોડ ચેસ સિમ્બોલ્સસેમ્પલ પીસ પ્લેસમેન્ટ

ચેસબોર્ડ પેટર્ન લોજિક:

  • ઓલ્ટર્નેટિંગ પેટર્ન: (row + col) % 2 રંગ નક્કી કરે
  • ગ્રિડ સિસ્ટમ: ચોક્કસ પોઝિશનિંગ સાથે 8x8 ચોરસ
  • વિઝ્યુઅલ એન્હાન્સમેન્ટ્સ: બોર્ડર, લેબલ્સ અને સેમ્પલ પીસીસ
  • સ્કેલેબલ ડિઝાઈન: ચોરસ સાઈઝ મોડિફાઈ કરવું સરળ

મેમરી ટ્રીક: "ગ્રિડ પેટર્નમાં ઓલ્ટર્નેટ કલર્સ"

પ્રશ્ન 5(અ OR) [3 માર્ક્સ]

ટર્ટલમાં કેટલા પ્રકારના આકાર હોય છે? કોઈપણ એક આકાર યોગ્ય ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટર્ટલ શેપ્સનું ટેબલ:

શેપ ટાઈપઉદાહરણોમેથડ
બેસિક શેપ્સવતુળ, ચોરસ, ત્રિકોણબિલ્ટ-ઇન ફંક્શન્સ
લાઈન પેટર્ન્સસીધી લાઈનો, કર્વ્સforward(), backward()
પોલિગોન્સપંચકોણ, ષટકોણ, અષ્ટકોણએંગલ્સ સાથે લૂપ
કોમ્પ્લેક્સ શેપ્સતારા, સ્પાઈરલ્સ, ફ્રેક્ટલ્સગાણિતિક પેટર્ન્સ
કસ્ટમ શેપ્સયુઝર-ડિફાઈન્ડ પેટર્ન્સમૂવમેન્ટ્સનું કોમ્બિનેશન

વતુળ શેપ ઉદાહરણ:

Python
  • બિલ્ટ-ઇન શેપ્સ: વતુળ, ચોરસ, ત્રિકોણ સહેલાઈથી ઉપલબ્ધ
  • કસ્ટમ શેપ્સ: મૂવમેન્ટ કોમ્બિનેશન વાપરીને બનાવાય
  • ગાણિતિક શેપ્સ: ચોક્કસ ડ્રોઈંગ માટે ભૂમિતિ વાપરો

મેમરી ટ્રીક: "ટર્ટલ ઘણા શેપ ટાઈપ્સ દોરે"

પ્રશ્ન 5(બ OR) [4 માર્ક્સ]

ટર્ટલ મોડ્યુલની ચાર મૂળભૂત પદ્ધતિઓ વિશે સમજાવો.

જવાબ:

બેસિક ટર્ટલ મેથડ્સનું ટેબલ:

મેથડહેતુપેરામીટર્સઉદાહરણ
forward(distance)ટર્ટલને આગળ ખસેડોપિક્સલ્સમાં અંતરturtle.forward(100)
backward(distance)ટર્ટલને પાછળ ખસેડોપિક્સલ્સમાં અંતરturtle.backward(50)
right(angle)ટર્ટલને જમણે ફેરવોડિગ્રીમાં એંગલturtle.right(90)
left(angle)ટર્ટલને ડાબે ફેરવોડિગ્રીમાં એંગલturtle.left(45)
Python
  • મૂવમેન્ટ મેથડ્સ: અંતર માટે forward() અને backward()
  • રોટેશન મેથડ્સ: દિશા બદલવા માટે right() અને left()
  • કોઓર્ડિનેટ સિસ્ટમ: વર્તમાન ટર્ટલ પોઝિશન અને હેડિંગ આધારિત
  • એંગલ મેઝરમેન્ટ: ડિગ્રીઝ (0-360)

મેમરી ટ્રીક: "આગળ, પાછળ, જમણે, ડાબે બેસિક્સ"

પ્રશ્ન 5(ક OR) [7 માર્ક્સ]

ટર્ટલનો ઉપયોગ કરીને ચોરસ, લાંબચોરસ અને વતુળ દોરવા માટે પાયથોન પ્રોગ્રામ લખો.

જવાબ:

Python

આકાર લક્ષણોનું ટેબલ:

આકારબાજુઓપ્રોપર્ટીઝક્ષેત્રફળ સૂત્ર
ચોરસ4 સમાનબધા કોણ 90°બાજુ²
લાંબચોરસ4 (2 જોડ)સામેની બાજુઓ સમાનલંબાઈ × પહોળાઈ
વતુળ0 (વક્ર)બધા બિંદુઓ સમદૂરπ × ત્રિજ્યા²

આકાર ડ્રોઈંગ પ્રક્રિયા:

  • ભૌમિતિક ચોકસાઈ: ચોક્કસ કોણ અને અંતર માપદંડો
  • વિઝ્યુઅલ અપીલ: વિવિધ રંગો અને ભરેલા આકારો
  • શૈક્ષણિક મૂલ્ય: સૂત્રો દર્શાવે છે
  • ગાણિતિક ગણતરીઓ: ક્ષેત્રફળ સૂત્રો સામેલ
  • ઇન્ટરેક્ટિવ ફીચર્સ: યુઝર પેરામીટર્સ કસ્ટમાઈઝ કરી શકે

મેમરી ટ્રીક: "ચોરસ સમાન, લાંબચોરસ સામેના, વતુળ ગોળ"