મુખ્ય સામગ્રી પર જાઓ
  1. સંસાધનો/
  2. અભ્યાસ સામગ્રી/
  3. ઇન્ફોર્મેશન અને કમ્યુનિકેશન ટેકનોલોજી એન્જિનિયરિંગ/
  4. આઈસીટી સેમેસ્ટર 2/
  5. પાયથોન પ્રોગ્રામિંગ (1323203)/

Python Programming (1323203) - Winter 2024 Solution

23 મિનિટ· ·
અભ્યાસ-સામગ્રી સોલ્યુશન પાયથોન-પ્રોગ્રામિંગ 1323203 2024 વિન્ટર
મિલવ ડબગર
લેખક
મિલવ ડબગર
ઇલેક્ટ્રિકલ અને ઇલેક્ટ્રોનિક મેન્યુફેક્ચરિંગ ઉદ્યોગમાં અનુભવી લેક્ચરર. એમ્બેડેડ સિસ્ટમ્સ, ઈમેજ પ્રોસેસિંગ, ડેટા સાયન્સ, મેટલેબ, પાયથન, STM32માં કુશળ. એલ.ડી. કોલેજ ઓફ એન્જિનિયરિંગ - અમદાવાદથી કમ્યુનિકેશન સિસ્ટમ્સ એન્જિનિયરિંગમાં માસ્ટર્સ ડિગ્રી ધરાવતા મજબૂત શિક્ષણ વ્યાવસાયિક.
અનુક્રમણિકા

પ્રશ્ન 1(a) [3 ગુણ]
#

ફ્લોચાર્ટને વ્યાખ્યાયિત કરો અને ફ્લોચાર્ટના કોઈપણ ચાર પ્રતીકોની સૂચિ બનાવો.

જવાબ: ફ્લોચાર્ટ એ એક પ્રક્રિયા, એલ્ગોરિધમ અથવા પ્રોગ્રામમાં પગલાંઓના ક્રમને દર્શાવવા માટે માનક પ્રતીકોનો ઉપયોગ કરતું ચિત્રાત્મક પ્રતિનિધિત્વ છે.

સામાન્ય ફ્લોચાર્ટ પ્રતીકો:

પ્રતીકનામહેતુ
લંબગોળ/ગોળાકાર આયતTerminal/Start/Endપ્રક્રિયાની શરૂઆત અથવા અંત દર્શાવે છે
આયતProcessગણતરી અથવા ડેટા પ્રોસેસિંગનું પ્રતિનિધિત્વ કરે છે
હીરા આકારDecisionશરતી શાખાના બિંદુને દર્શાવે છે
સમાંતર ચતુષ્કોણInput/Outputડેટા ઈનપુટ અથવા આઉટપુટનું પ્રતિનિધિત્વ કરે છે

મેમરી ટ્રીક: “TP-DI” (Terminal-Process-Decision-Input/Output)

પ્રશ્ન 1(b) [4 ગુણ]
#

પાયથોનમાં વિવિધ ડેટા પ્રકારોની યાદી બનાવો. કોઈપણ ત્રણ ડેટા પ્રકારો ઉદાહરણ સાથે સમજાવો.

જવાબ: પાયથોનના ડેટા પ્રકારો વિવિધ પ્રકારની ડેટા કિંમતોને વર્ગીકૃત કરે છે.

ડેટા પ્રકારવર્ણનઉદાહરણ
Integerદશાંશ બિંદુઓ વિનાના સંપૂર્ણ સંખ્યાઓx = 10
Floatદશાંશ બિંદુઓ સાથેની સંખ્યાઓy = 3.14
Stringઅક્ષરોની શ્રેણીname = "Python"
Booleanસાચું અથવા ખોટું મૂલ્યોis_valid = True
Listક્રમબદ્ધ, પરિવર્તનશીલ સંગ્રહcolors = ["red", "green"]
Tupleક્રમબદ્ધ, અપરિવર્તનીય સંગ્રહpoint = (5, 10)
Dictionaryકી-વેલ્યુ જોડીઓperson = {"name": "John"}
Setઅવ્યવસ્થિત અનન્ય આઈટમોનો સંગ્રહunique = {1, 2, 3}

Integer: દશાંશ બિંદુઓ વિનાની સંપૂર્ણ સંખ્યાઓનું પ્રતિનિધિત્વ કરે છે.

age = 25
count = -10

String: અવતરણ ચિહ્નોમાં બંધ અક્ષરોના ક્રમનું પ્રતિનિધિત્વ કરે છે.

name = "Python"
message = 'Hello World'

List: વિવિધ પ્રકારની વસ્તુઓનો ક્રમબદ્ધ, પરિવર્તનશીલ સંગ્રહ.

numbers = [1, 2, 3, 4]
mixed = [1, "Python", True, 3.14]

મેમરી ટ્રીક: “FIBS-LTDS” (Float-Integer-Boolean-String-List-Tuple-Dictionary-Set)

પ્રશ્ન 1(c) [7 ગુણ]
#

પ્રથમ વીસ સમાન પ્રાકૃતિક સંખ્યાઓના સરવાળાની ગણતરી કરવા માટે ફ્લોચાર્ટ ડિઝાઈન કરો.

જવાબ:

flowchart LR
    A([શરૂઆત]) --> B[/sum = 0, count = 0, num = 2 પ્રારંભ કરો/]
    B --> C{શું count < 20?}
    C -->|હા| D[sum = sum + num]
    D --> E[count = count + 1]
    E --> F[num = num + 2]
    F --> C
    C -->|ના| G[/sum પ્રિન્ટ કરો/]
    G --> H([સમાપ્ત])

સમજૂતી:

  • ચલોનો પ્રારંભ: sum=0, count=0 (મળેલ સમ સંખ્યાઓને ટ્રેક કરવા માટે), num=2 (પ્રથમ સમ સંખ્યા)
  • લૂપ શરત: 20 સમ સંખ્યાઓ મળે ત્યાં સુધી ચાલુ રાખો
  • પ્રક્રિયા: વર્તમાન સમ સંખ્યાને સરવાળામાં ઉમેરો
  • અપડેટ: કાઉન્ટર વધારો અને આગળની સમ સંખ્યા પર જાઓ
  • આઉટપુટ: લૂપ પૂર્ણ થાય ત્યારે અંતિમ સરવાળો પ્રિન્ટ કરો

મેમરી ટ્રીક: “SCNL-20” (Sum-Count-Number-Loop until 20)

પ્રશ્ન 1(c) અથવા [7 ગુણ]
#

1 થી 20 ની વચ્ચેની વિષમ સંખ્યાઓ પ્રિન્ટ કરવા માટે એલ્ગોરિધમ બનાવો.

જવાબ:

એલ્ગોરિધમ:

  1. ચલ num = 1 (પ્રથમ વિષમ સંખ્યાથી શરૂ કરીને) પ્રારંભ કરો
  2. જ્યાં સુધી num ≤ 20, પગલાં 3-5 કરો
  3. num ની કિંમત પ્રિન્ટ કરો
  4. num ને 2 વધારો (આગળની વિષમ સંખ્યા મેળવવા માટે)
  5. પગલું 2 થી પુનરાવર્તન કરો
  6. સમાપ્ત

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B[/num = 1 પ્રારંભ કરો/]
    B --> C{શું num ≤ 20?}
    C -->|હા| D[/num પ્રિન્ટ કરો/]
    D --> E[num = num + 2]
    E --> C
    C -->|ના| F([સમાપ્ત])

કોડ અમલીકરણ:

# 1 થી 20 સુધીની વિષમ સંખ્યાઓ પ્રિન્ટ કરો
num = 1
while num <= 20:
    print(num)
    num += 2

મેમરી ટ્રીક: “SOLO-20” (Start Odd Loop Output until 20)

પ્રશ્ન 2(a) [3 ગુણ]
#

પાયથોનના સભ્યપદ ઓપરેટર વિશે ચર્ચા કરો.

જવાબ: પાયથોનમાં સભ્યપદ ઓપરેટરનો ઉપયોગ કોઈ મૂલ્ય અથવા ચલ અનુક્રમમાં અસ્તિત્વમાં છે કે નહીં તેનું પરીક્ષણ કરવા માટે થાય છે.

સભ્યપદ ઓપરેટરની સારણી:

ઓપરેટરવર્ણનઉદાહરણઆઉટપુટ
inજો મૂલ્ય અનુક્રમમાં અસ્તિત્વમાં હોય તો True પરત કરે છે5 in [1,2,5]True
not inજો મૂલ્ય અસ્તિત્વમાં ન હોય તો True પરત કરે છે4 not in [1,2,5]True

સામાન્ય ઉપયોગ:

  • લિસ્ટમાં તત્વ અસ્તિત્વમાં છે કે નહીં તેની તપાસ કરવી: if item in my_list:
  • શબ્દકોશમાં કી અસ્તિત્વમાં છે કે નહીં તેની તપાસ કરવી: if key in my_dict:
  • સબસ્ટ્રિંગ અસ્તિત્વમાં છે કે નહીં તેની તપાસ કરવી: if "py" in "python":

મેમરી ટ્રીક: “IM-NOT” (In Membership - NOT in Membership)

પ્રશ્ન 2(b) [4 ગુણ]
#

continue અને break સ્ટેટમેન્ટની જરૂરિયાત સમજાવો.

જવાબ:

સ્ટેટમેન્ટહેતુઉપયોગ કેસઉદાહરણ
breakલૂપને તાત્કાલિક સમાપ્ત કરે છેજ્યારે શરત પૂરી થાય ત્યારે લૂપમાંથી બહાર નીકળોતત્વ શોધવું
continueવર્તમાન પુનરાવર્તનને છોડી આગળના પર જાય છેઅમુક મૂલ્યોને છોડી આગળ વધવુંફિલ્ટરિંગ મૂલ્યો

Break સ્ટેટમેન્ટ:

  • હેતુ: તાત્કાલિક લૂપમાંથી બહાર નીકળે છે
  • ક્યારે ઉપયોગ કરવો: જ્યારે જરૂરી શરત હાંસલ થાય અને વધુ પ્રક્રિયાની જરૂર ન હોય
  • ઉદાહરણ: લિસ્ટમાં ચોક્કસ તત્વ શોધવું
for num in range(1, 10):
    if num == 5:
        print("Found 5!")
        break
    print(num)

Continue સ્ટેટમેન્ટ:

  • હેતુ: વર્તમાન પુનરાવર્તનને છોડી આગળના પર જાય છે
  • ક્યારે ઉપયોગ કરવો: જ્યારે અમુક મૂલ્યોને છોડવાના હોય પરંતુ લૂપ ચાલુ રાખવાનો હોય
  • ઉદાહરણ: લૂપમાં સમ સંખ્યાઓને છોડવી
for num in range(1, 10):
    if num % 2 == 0:
        continue
    print(num)  # માત્ર વિષમ સંખ્યાઓ પ્રિન્ટ કરે છે

મેમરી ટ્રીક: “BS-CE” (Break Stops, Continue Excepts)

પ્રશ્ન 2(c) [7 ગુણ]
#

યુઝર તરફથી ઇનપુટ તરીકે લેવામાં આવેલા ચાર વિષયના ગુણના આધારે કુલ અને સરેરાશ ગુણની ગણતરી કરવા માટે એક પ્રોગ્રામ બનાવો.

જવાબ:

# કુલ અને સરેરાશ ગુણની ગણતરી કરવાનો પ્રોગ્રામ
# ચાર વિષયો માટે ગુણ ઇનપુટ લો
subject1 = float(input("વિષય 1 માટે ગુણ દાખલ કરો: "))
subject2 = float(input("વિષય 2 માટે ગુણ દાખલ કરો: "))
subject3 = float(input("વિષય 3 માટે ગુણ દાખલ કરો: "))
subject4 = float(input("વિષય 4 માટે ગુણ દાખલ કરો: "))

# કુલ અને સરેરાશની ગણતરી કરો
total_marks = subject1 + subject2 + subject3 + subject4
average_marks = total_marks / 4

# પરિણામો પ્રદર્શિત કરો
print(f"કુલ ગુણ: {total_marks}")
print(f"સરેરાશ ગુણ: {average_marks}")

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B[/subject1, subject2, subject3, subject4 ઇનપુટ લો/]
    B --> C[total_marks = subject1 + subject2 + subject3 + subject4]
    C --> D[average_marks = total_marks / 4]
    D --> E[/total_marks, average_marks પ્રદર્શિત કરો/]
    E --> F([સમાપ્ત])

સમજૂતી:

  • ઇનપુટ: યુઝર પાસેથી ચાર વિષયોના ગુણ મેળવો
  • પ્રક્રિયા: બધા વિષયના ગુણને ઉમેરીને કુલ અને વિષયોની સંખ્યા વડે ભાગીને સરેરાશની ગણતરી કરો
  • આઉટપુટ: કુલ અને સરેરાશ ગુણ પ્રદર્શિત કરો

મેમરી ટ્રીક: “IAPO” (Input-Add-Process-Output)

પ્રશ્ન 2(a) અથવા [3 ગુણ]
#

અસાઇનમેન્ટ ઓપરેટર પર ટૂંકી નોંધ લખો.

જવાબ: પાયથોનમાં અસાઇનમેન્ટ ઓપરેટરનો ઉપયોગ ચલોને મૂલ્યો સોંપવા માટે થાય છે.

ઓપરેટરનામવર્ણનઉદાહરણ
=સરળ અસાઇનમેન્ટજમણા ઓપરન્ડ મૂલ્યને ડાબા ઓપરન્ડને સોંપે છેx = 10
+=ઉમેરો અને સોંપોજમણા ઓપરન્ડને ડાબામાં ઉમેરે અને પરિણામ સોંપે છેx += 5 (x = x + 5 સમાન)
-=બાદ કરો અને સોંપોજમણા ઓપરન્ડને ડાબામાંથી બાદ કરે અને સોંપે છેx -= 3 (x = x - 3 સમાન)
*=ગુણાકાર અને સોંપોડાબાને જમણા વડે ગુણાકાર કરે અને સોંપે છેx *= 2 (x = x * 2 સમાન)
/=ભાગાકાર અને સોંપોડાબાને જમણા વડે ભાગે અને સોંપે છેx /= 4 (x = x / 4 સમાન)

મિશ્રિત અસાઇનમેન્ટ ઓપરેટર અંકગણિતીય ઓપરેશન અને અસાઇનમેન્ટને જોડે છે, જેથી કોડ વધુ સંક્ષિપ્ત અને વાંચવા યોગ્ય બને છે.

મેમરી ટ્રીક: “SAME” (Simple Assignment Makes Easy)

પ્રશ્ન 2(b) અથવા [4 ગુણ]
#

for લૂપનો ઉપયોગ સિન્ટેક્સ, ફ્લોચાર્ટ અને ઉદાહરણ આપીને સમજાવો.

જવાબ:

For લૂપનો સિન્ટેક્સ:

for variable in sequence:
    # કોડ બ્લોક જે અમલમાં મૂકવાનો છે

ફ્લોચાર્ટ:

flowchart LR
    A([શરૂઆત]) --> B[/લૂપ ચલને સિક્વન્સની પહેલી આઇટમથી શરૂ કરો/]
    B --> C{શું હજી આઇટમ બાકી છે?}
    C -->|હા| D[લૂપના શરીરને અમલમાં મૂકો]
    D --> E[સિક્વન્સમાં આગળની આઇટમ પર જાઓ]
    E --> C
    C -->|ના| F([સમાપ્ત])

ઉદાહરણ:

# 1 થી 5 સુધીની સંખ્યાઓના વર્ગ પ્રિન્ટ કરો
for num in range(1, 6):
    square = num ** 2
    print(f"{num} નો વર્ગ = {square}")

પાયથોનમાં for લૂપનો ઉપયોગ સિક્વન્સ (લિસ્ટ, ટપલ, સ્ટ્રિંગ, વગેરે) અથવા અન્ય ઇટરેબલ ઓબ્જેક્ટ્સ પર ચોક્કસ પુનરાવર્તન માટે થાય છે. તે ખાસ કરીને ત્યારે ઉપયોગી છે જ્યારે તમે પુનરાવર્તનોની સંખ્યા અગાઉથી જાણતા હો.

મેમરી ટ્રીક: “SIFE” (Sequence Iteration For Each item)

પ્રશ્ન 2(c) અથવા [7 ગુણ]
#

યુઝર દ્વારા આપેલ નંબરનો વર્ગ અને ઘન શોધવા માટે કોડ વિકસાવો.

જવાબ:

# નંબરનો વર્ગ અને ઘન શોધવાનો પ્રોગ્રામ
# યુઝર પાસેથી નંબર ઇનપુટ લો
num = float(input("એક નંબર દાખલ કરો: "))

# વર્ગ અને ઘનની ગણતરી કરો
square = num ** 2
cube = num ** 3

# પરિણામો પ્રદર્શિત કરો
print(f"દાખલ કરેલ નંબર: {num}")
print(f"{num} નો વર્ગ: {square}")
print(f"{num} નો ઘન: {cube}")

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B[/num ઇનપુટ લો/]
    B --> C[square = num ** 2]
    C --> D[cube = num ** 3]
    D --> E[/num, square, cube પ્રદર્શિત કરો/]
    E --> F([સમાપ્ત])

સમજૂતી:

  • ઇનપુટ: યુઝર પાસેથી નંબર મેળવો
  • પ્રક્રિયા: 2ની ઘાત પર ઉઠાવીને વર્ગ, 3ની ઘાત પર ઉઠાવીને ઘનની ગણતરી કરો
  • આઉટપુટ: ઇનપુટ નંબર, તેનો વર્ગ અને ઘન પ્રદર્શિત કરો

મેમરી ટ્રીક: “ISCO” (Input-Square-Cube-Output)

પ્રશ્ન 3(a) [3 ગુણ]
#

if-elif-else સ્ટેટમેન્ટને ફ્લોચાર્ટ અને યોગ્ય ઉદાહરણ સાથે સમજાવો.

જવાબ: પાયથોનમાં if-elif-else સ્ટેટમેન્ટ એ એવી શરતી ક્રિયા માટે છે જ્યાં ઘણા અભિવ્યક્તિઓનું મૂલ્યાંકન કરવામાં આવે છે.

ફ્લોચાર્ટ:

flowchart LR
    A([શરૂઆત]) --> B{શું condition1 સાચું છે?}
    B -->|હા| C[if બ્લોક અમલમાં મૂકો]
    B -->|ના| D{શું condition2 સાચું છે?}
    D -->|હા| E[elif બ્લોક અમલમાં મૂકો]
    D -->|ના| F[else બ્લોક અમલમાં મૂકો]
    C --> G([સમાપ્ત])
    E --> G
    F --> G

ઉદાહરણ:

# ગુણ આધારિત ગ્રેડ આપવું
marks = 75

if marks >= 90:
    grade = "A"
elif marks >= 80:
    grade = "B"
elif marks >= 70:
    grade = "C"
elif marks >= 60:
    grade = "D"
else:
    grade = "F"

print(f"તમારો ગ્રેડ: {grade}")

મેમરી ટ્રીક: “CITE” (Check If Then Else)

પ્રશ્ન 3(b) [4 ગુણ]
#

યુઝર ડિફાઇન ફંકશન વ્યાખ્યાયિત કરો અને કેવી રીતે યુસર ડિફાઇન ફંકશન કોલ કરવું તે યોગ્ય ઉદાહરણ આપીને સમજાવો.

જવાબ:

ફંકશન વ્યાખ્યા અને કોલિંગ:

પાસુંસિન્ટેક્સહેતુ
વ્યાખ્યાdef function_name(parameters):પુન:ઉપયોગી કોડનો બ્લોક બનાવે છે
ફંકશન બોડીઇન્ડેન્ટેડ કોડ બ્લોકફંકશનનો લોજિક ધરાવે છે
રિટર્ન સ્ટેટમેન્ટreturn [expression]કૉલરને મૂલ્ય પાછું મોકલે છે
ફંકશન કોલfunction_name(arguments)ફંકશન કોડ ચલાવે છે

ફંકશન વ્યાખ્યાયિત અને કોલ કરવાનું ઉદાહરણ:

# લંબચોરસનો ક્ષેત્રફળ ગણવા માટે ફંકશન વ્યાખ્યાયિત કરો
def calculate_area(length, width):
    """આપેલ લંબાઈ અને પહોળાઈ સાથે લંબચોરસનો ક્ષેત્રફળ ગણો"""
    area = length * width
    return area

# ફંકશન કોલ કરો
result = calculate_area(5, 3)
print(f"લંબચોરસનો ક્ષેત્રફળ: {result}")

સમજૂતી:

  • ફંકશન વ્યાખ્યા: def કીવર્ડનો ઉપયોગ કરીને ફંકશન નામ અને પેરામીટર્સ સાથે
  • ડોક્યુમેન્ટેશન: ફંકશનનું વર્ણન કરતું વૈકલ્પિક ડોકસ્ટ્રિંગ
  • ફંકશન બોડી: કાર્ય કરતો કોડ
  • રીટર્ન સ્ટેટમેન્ટ: કૉલરને પરિણામ પાછું મોકલે છે
  • ફંકશન કોલ: ફંકશન ચલાવવા માટે આર્ગ્યુમેન્ટ્સ પસાર કરો

મેમરી ટ્રીક: “DBRCA” (Define-Body-Return-Call-Arguments)

પ્રશ્ન 3(c) [7 ગુણ]
#

આપેલ નંબરનો ફેક્ટોરીયલ શોધવા માટે કોડ વિકસાવો.

જવાબ:

# નંબરનો ફેક્ટોરીયલ શોધવાનો પ્રોગ્રામ
# યુઝર પાસેથી નંબર ઇનપુટ લો
num = int(input("એક સકારાત્મક પૂર્ણાંક દાખલ કરો: "))

# ફેક્ટોરીયલ પ્રારંભ કરો
factorial = 1

# તપાસો કે નંબર નકારાત્મક, શૂન્ય કે સકારાત્મક છે
if num < 0:
    print("નકારાત્મક સંખ્યાઓ માટે ફેક્ટોરીયલ અસ્તિત્વમાં નથી")
elif num == 0:
    print("0 નો ફેક્ટોરીયલ 1 છે")
else:
    # ફેક્ટોરીયલની ગણતરી કરો
    for i in range(1, num + 1):
        factorial *= i
    print(f"{num} નો ફેક્ટોરીયલ {factorial} છે")

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B[/num ઇનપુટ લો/]
    B --> C[factorial = 1 પ્રારંભ કરો]
    C --> D{શું num < 0?}
    D -->|હા| E[/ભૂલ સંદેશ પ્રદર્શિત કરો/]
    D -->|ના| F{શું num == 0?}
    F -->|હા| G[/0 નો ફેક્ટોરીયલ 1 છે એમ પ્રદર્શિત કરો/]
    F -->|ના| H[i = 1 થી num સુધી લૂપ]
    H --> I[factorial = factorial * i]
    I --> J[/ફેક્ટોરીયલ પ્રદર્શિત કરો/]
    E --> K([સમાપ્ત])
    G --> K
    J --> K

સમજૂતી:

  • ઇનપુટ: યુઝર પાસેથી નંબર મેળવો
  • ચકાસણી: તપાસો કે નંબર નકારાત્મક (ફેક્ટોરીયલ વ્યાખ્યાયિત નથી), શૂન્ય (ફેક્ટોરીયલ 1 છે), અથવા સકારાત્મક છે
  • પ્રક્રિયા: સકારાત્મક નંબરો માટે, ફેક્ટોરીયલને 1 થી num સુધીના દરેક નંબર સાથે ગુણાકાર કરો
  • આઉટપુટ: ફેક્ટોરીયલ પરિણામ પ્રદર્શિત કરો

મેમરી ટ્રીક: “MICE” (Multiply Incrementally, Check Edge-cases)

પ્રશ્ન 3(a) અથવા [3 ગુણ]
#

યોગ્ય ઉદાહરણનો ઉપયોગ કરીને નેસ્ટેડ લૂપ સમજાવો.

જવાબ: નેસ્ટેડ લૂપ એ એક લૂપની અંદર બીજું લૂપ છે. બાહ્ય લૂપના દરેક પુનરાવર્તન માટે આંતરિક લૂપ તેના બધા પુનરાવર્તનો પૂર્ણ કરે છે.

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B{બાહ્ય લૂપ શરત}
    B -->|સાચું| C{આંતરિક લૂપ શરત}
    C -->|સાચું| D[આંતરિક લૂપ બોડી અમલમાં મૂકો]
    D --> E[આંતરિક લૂપ કાઉન્ટર અપડેટ કરો]
    E --> C
    C -->|ખોટું| F[બાહ્ય લૂપ કાઉન્ટર અપડેટ કરો]
    F --> B
    B -->|ખોટું| G([સમાપ્ત])

ઉદાહરણ:

# 1 થી 3 સુધીના ગુણાકાર કોષ્ટક પ્રિન્ટ કરો
for i in range(1, 4):  # બાહ્ય લૂપ: 1 થી 3
    print(f"{i} માટે ગુણાકાર કોષ્ટક:")
    for j in range(1, 6):  # આંતરિક લૂપ: 1 થી 5
        print(f"{i} x {j} = {i*j}")
    print()  # દરેક કોષ્ટક પછી ખાલી લાઇન

મેમરી ટ્રીક: “LOFI” (Loop Outside, Finish Inside)

પ્રશ્ન 3(b) અથવા [4 ગુણ]
#

ફંકશન હેન્ડલિંગમાં રિટર્ન સ્ટેટમેન્ટ સમજાવો.

જવાબ:

પાસુંવર્ણનઉદાહરણ
હેતુકૉલરને મૂલ્ય પાછું મોકલોreturn result
મલ્ટિપલ રિટર્નટપલ તરીકે ઘણા મૂલ્યો પાછા મોકલોreturn x, y, z
અર્લી એક્ઝિટઅંત પહેલા ફંકશનમાંથી બહાર નીકળોif error: return None
નો રિટર્નફંકશન મૂળભૂત રીતે None પાછું મોકલે છેdef show(): print("Hi")

પાયથોન ફંકશનોમાં return સ્ટેટમેન્ટ:

  1. ફંકશન એક્ઝિક્યુશન સમાપ્ત કરે છે
  2. ફંકશન કૉલરને મૂલ્ય પાછું મોકલે છે
  3. ઘણા મૂલ્યો (ટપલ તરીકે) પાછા મોકલી શકે છે
  4. વૈકલ્પિક છે (જો છોડવામાં આવે, તો ફંકશન None પાછું મોકલે છે)

ઉદાહરણ:

def calculate_circle(radius):
    """વર્તુળનું ક્ષેત્રફળ અને પરિધિ ગણો"""
    if radius < 0:
        return None  # અમાન્ય ઇનપુટ માટે અર્લી એક્ઝિટ
    
    area = 3.14 * radius ** 2
    circumference = 2 * 3.14 * radius
    
    return area, circumference  # ઘણા મૂલ્યો પાછા મોકલો
    
# ફંકશન કોલ
result = calculate_circle(5)
print(f"ક્ષેત્રફળ અને પરિધિ: {result}")

મેમરી ટ્રીક: “TERM” (Terminate Execution, Return Multiple values)

પ્રશ્ન 3(c) અથવા [7 ગુણ]
#

લૂપ કોન્સેપ્ટનો ઉપયોગ કરીને નીચેની પેટર્ન દર્શાવવા માટે એક પ્રોગ્રામ બનાવો

A
AB
ABC
ABCD
ABCDE

જવાબ:

# અક્ષર પેટર્ન પ્રિન્ટ કરવાનો પ્રોગ્રામ
# પ્રથમ પેટર્ન: A થી E ત્રિકોણ આકારમાં

# પંક્તિઓ (1 થી 5) દ્વારા લૂપ કરો
for i in range(1, 6):
    # દરેક પંક્તિ માટે, 'A' થી જરૂરી અક્ષર સુધીના અક્ષરો પ્રિન્ટ કરો
    for j in range(i):
        # 'A' ની ASCII કિંમત 65 છે, અનુગામી અક્ષરો મેળવવા માટે j ઉમેરો
        print(chr(65 + j), end="")
    # દરેક પંક્તિ પછી આગળની લાઇન પર જાઓ
    print()

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B["i = 1"]
    B --> C{"શું i <= 5?"}
    C -->|હા| D["j = 0"]
    D --> E{"શું j < i?"}
    E -->|હા| F["chr(65 + j) પ્રિન્ટ કરો"]
    F --> G["j = j + 1"]
    G --> E
    E -->|ના| H["નવી લાઇન પ્રિન્ટ કરો"]
    H --> I["i = i + 1"]
    I --> C
    C -->|ના| J([સમાપ્ત])

સમજૂતી:

  • બાહ્ય લૂપ: પંક્તિઓની સંખ્યા (1 થી 5) નિયંત્રિત કરે છે
  • આંતરિક લૂપ: દરેક પંક્તિ i માટે, ‘A’ થી શરૂ કરીને i અક્ષરો પ્રિન્ટ કરે છે
  • અક્ષર જનરેશન: ASCII મૂલ્ય રૂપાંતર (chr(65+j) ‘A’, ‘B’, વગેરે આપે છે)
  • આઉટપુટ ફોર્મેટિંગ: દરેક પંક્તિ માટે end="" નો ઉપયોગ કરીને અક્ષરો એક જ લાઇનમાં પ્રિન્ટ કરવા

મેમરી ટ્રીક: “OICE” (Outer-Inner-Character-Endline)

પ્રશ્ન 4(a) [3 ગુણ]
#

નીચેના બિલ્ટ-ઈન ફંકશનો યોગ્ય ઉદાહરણ સાથે વર્ણન કરો. i) max() ii) input() iii) pow()

જવાબ:

ફંકશનહેતુસિન્ટેક્સઉદાહરણ
max()ઇટરેબલમાં સૌથી મોટી વસ્તુ અથવા બે અથવા વધુ આર્ગ્યુમેન્ટમાંથી સૌથી મોટી વસ્તુ પાછી મોકલે છેmax(iterable) અથવા max(arg1, arg2, ...)max([1, 5, 3]) 5 પાછું મોકલે છે
input()ઇનપુટમાંથી એક લાઇન વાંચે છે અને સ્ટ્રિંગ તરીકે પાછી મોકલે છેinput([prompt])input("નામ દાખલ કરો: ")
pow()x ને y ની ઘાત પર ઉઠાવેલું પાછું મોકલે છેpow(x, y)pow(2, 3) 8 પાછું મોકલે છે

કોડમાં ઉદાહરણો:

# max() ફંકશન ઉદાહરણ
numbers = [10, 5, 20, 15]
maximum = max(numbers)
print(f"મહત્તમ મૂલ્ય: {maximum}")  # આઉટપુટ: મહત્તમ મૂલ્ય: 20

# input() ફંકશન ઉદાહરણ
name = input("તમારું નામ દાખલ કરો: ")
print(f"નમસ્તે, {name}!")

# pow() ફંકશન ઉદાહરણ
result = pow(2, 4)
print(f"2 ને 4 ની ઘાત પર ઉઠાવતા: {result}")  # આઉટપુટ: 2 ને 4 ની ઘાત પર ઉઠાવતા: 16

મેમરી ટ્રીક: “MIP” (Max-Input-Power)

પ્રશ્ન 4(b) [4 ગુણ]
#

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

જવાબ:

પાયથોનમાં સ્ટ્રિંગ સ્લાઇસિંગનો ઉપયોગ સ્ટ્રિંગમાંથી સબસ્ટ્રિંગ બહાર કાઢવા માટે થાય છે.

સિન્ટેક્સ: string[start:end:step]

પેરામીટરવર્ણનડિફોલ્ટઉદાહરણ
startપ્રારંભિક ઇન્ડેક્સ (સમાવેશીત)0"Python"[1:]"ython"
endઅંતિમ ઇન્ડેક્સ (અસમાવેશીત)સ્ટ્રિંગની લંબાઈ"Python"[:3]"Pyt"
stepઅક્ષરો વચ્ચે વધારો1"Python"[::2]"Pto"

ઉદાહરણો:

text = "Python Programming"

# મૂળભૂત સ્લાઇસિંગ
print(text[0:6])     # આઉટપુટ: "Python"
print(text[7:])      # આઉટપુટ: "Programming"
print(text[:6])      # આઉટપુટ: "Python"

# સ્ટેપ સાથે
print(text[::2])     # આઉટપુટ: "Pto rgamn"
print(text[0:10:2])  # આઉટપુટ: "Pto r"

# નકારાત્મક ઇન્ડિસેસ (અંતથી ગણતરી)
print(text[-11:])    # આઉટપુટ: "Programming"
print(text[:-12])    # આઉટપુટ: "Python"

# સ્ટ્રિંગને ઉલટાવો
print(text[::-1])    # આઉટપુટ: "gnimmargorP nohtyP"

મેમરી ટ્રીક: “SES” (Start-End-Step)

પ્રશ્ન 4(c) [7 ગુણ]
#

1 થી 7 ની વચ્ચેની તમામ વિષમ સંખ્યાઓના ક્યુબને પ્રિન્ટ કરતું યુઝર ડિફાઇન ફંકશન બનાવો.

જવાબ:

# શ્રેણીમાં વિષમ સંખ્યાઓના ક્યુબ પ્રિન્ટ કરવાનું ફંકશન
def print_odd_cubes(start, end):
    """
    શરૂઆત અને અંત (સમાવેશીત) વચ્ચેની બધી વિષમ સંખ્યાઓના ક્યુબ પ્રિન્ટ કરો
    """
    print(f"{start} અને {end} વચ્ચેની વિષમ સંખ્યાઓના ક્યુબ:")
    
    # શ્રેણી દ્વારા લૂપ કરો
    for num in range(start, end + 1):
        # તપાસો કે નંબર વિષમ છે કે નહીં
        if num % 2 != 0:
            # ક્યુબની ગણતરી કરો અને પ્રિન્ટ કરો
            cube = num ** 3
            print(f"{num} નો ક્યુબ {cube} છે")

# 1 થી 7 સુધીના વિષમ ક્યુબ પ્રિન્ટ કરવા માટે ફંકશન કોલ કરો
print_odd_cubes(1, 7)

આકૃતિ:

flowchart TD
    A([શરૂઆત]) --> B[print_odd_cubes ફંકશન વ્યાખ્યાયિત કરો]
    B --> C["print_odd_cubes(1, 7) કોલ કરો"]
    C --> D["શીર્ષક પ્રદર્શિત કરો"]
    D --> E[start થી end સુધી num માટે લૂપ]
    E --> F{શું num % 2 != 0?}
    F -->|હા| G[cube = num ** 3]
    G --> H["num અને cube પ્રદર્શિત કરો"]
    F -->|ના| I[લૂપ ચાલુ રાખો]
    H --> I
    I --> J{શું લૂપ પૂર્ણ છે?}
    J -->|ના| E
    J -->|હા| K([સમાપ્ત])

સમજૂતી:

  • ફંકશન વ્યાખ્યા: શ્રેણીમાં વિષમ સંખ્યાઓને પ્રોસેસ કરવા માટે ફંકશન બનાવો
  • લૂપ: શરૂઆતથી અંત સુધીના નંબરો પર પુનરાવર્તન કરો
  • શરત: મોડ્યુલો ઓપરેટરનો ઉપયોગ કરીને તપાસો કે નંબર વિષમ છે કે નહીં
  • પ્રોસેસિંગ: વિષમ સંખ્યાઓના ક્યુબની ગણતરી કરો
  • આઉટપુટ: દરેક વિષમ સંખ્યા અને તેનો ક્યુબ પ્રદર્શિત કરો

મેમરી ટ્રીક: “FLOOP” (Function-Loop-Odd-Output-Power)

પ્રશ્ન 4(a) અથવા [3 ગુણ]
#

વિવિધ ફંકશનો સાથે random મોડ્યુલ સમજાવો.

જવાબ:

પાયથોનમાં random મોડ્યુલ રેન્ડમ નંબર જનરેટ કરવા અને રેન્ડમ પસંદગીઓ કરવા માટે ફંકશનો પ્રદાન કરે છે.

ફંકશનવર્ણનઉદાહરણપરિણામ
random()0 અને 1 વચ્ચે રેન્ડમ ફ્લોટ પાછું મોકલે છેrandom.random()0.7134346335849448
randint(a, b)a અને b (સમાવેશીત) વચ્ચે રેન્ડમ પૂર્ણાંક પાછું મોકલે છેrandom.randint(1, 10)7
choice(seq)સિક્વન્સમાંથી રેન્ડમ તત્વ પાછું મોકલે છેrandom.choice(['red', 'green', 'blue'])'green'
shuffle(seq)સિક્વન્સને ઇન-પ્લેસ શફલ કરે છેrandom.shuffle(my_list)કોઈ રિટર્ન મૂલ્ય નહીં
sample(seq, k)સિક્વન્સમાંથી k અનન્ય રેન્ડમ તત્વો પાછા મોકલે છેrandom.sample(range(1, 30), 5)[3, 12, 21, 7, 25]

ઉદાહરણ:

import random

# 0 અને 1 વચ્ચે રેન્ડમ ફ્લોટ જનરેટ કરો
print(random.random())  

# 1 અને 10 વચ્ચે રેન્ડમ પૂર્ણાંક જનરેટ કરો
print(random.randint(1, 10))  

# લિસ્ટમાંથી રેન્ડમ તત્વ પસંદ કરો
colors = ["red", "green", "blue", "yellow"]
print(random.choice(colors))  

# ઇન-પ્લેસ લિસ્ટને શફલ કરો
random.shuffle(colors)
print(colors)  

# 2 અનન્ય રેન્ડમ તત્વો પસંદ કરો
print(random.sample(colors, 2))  

મેમરી ટ્રીક: “RICES” (Random-Integer-Choice-Elements-Shuffle)

પ્રશ્ન 4(b) અથવા [4 ગુણ]
#

નીચેના લિસ્ટ ફંકશનોની ચર્ચા કરો. i. len() ii. sum() iii. sort() iv. index()

જવાબ:

ફંકશનહેતુસિન્ટેક્સઉદાહરણઆઉટપુટ
len()લિસ્ટમાં આઇટમોની સંખ્યા પાછી મોકલે છેlen(list)len([1, 2, 3])3
sum()લિસ્ટની બધી આઇટમોનો સરવાળો પાછો મોકલે છેsum(list)sum([1, 2, 3])6
sort()લિસ્ટને ઇન-પ્લેસ સોર્ટ કરે છેlist.sort()[3, 1, 2].sort()None (મૂળને સંશોધિત કરે છે)
index()પ્રથમ ઘટનાનો ઇન્ડેક્સ પાછો મોકલે છેlist.index(value)[10, 20, 30].index(20)1

ઉદાહરણો:

# len() ફંકશન
numbers = [5, 10, 15, 20, 25]
print(f"લિસ્ટની લંબાઈ: {len(numbers)}")  # આઉટપુટ: 5

# sum() ફંકશન
print(f"બધી આઇટમોનો સરવાળો: {sum(numbers)}")  # આઉટપુટ: 75

# sort() ફંકશન
mixed = [3, 1, 4, 2]
mixed.sort()  # ઇન-પ્લેસ સોર્ટ થાય છે
print(f"સોર્ટેડ લિસ્ટ: {mixed}")  # આઉટપુટ: [1, 2, 3, 4]
mixed.sort(reverse=True)
print(f"રિવર્સ સોર્ટેડ: {mixed}")  # આઉટપુટ: [4, 3, 2, 1]

# index() ફંકશન
fruits = ["apple", "banana", "cherry", "apple"]
print(f"'banana' નો ઇન્ડેક્સ: {fruits.index('banana')}")  # આઉટપુટ: 1

મેમરી ટ્રીક: “LSSI” (Length-Sum-Sort-Index)

પ્રશ્ન 4(c) અથવા [7 ગુણ]
#

0 થી N સંખ્યાઓની ફિબોનાક્કી શ્રેણીને પ્રિન્ટ કરવા માટે યુઝર-ડિફાઇન ફંકશન બનાવો. (જ્યાં N એક પૂર્ણાંક સંખ્યા છે અને આર્ગ્યુમેન્ટ તરીકે પસાર થાય છે)

જવાબ:

# N સુધીની ફિબોનાક્કી શ્રેણીને પ્રિન્ટ કરવાનું ફંકશન
def print_fibonacci(n):
    """
    n પદો સુધીની ફિબોનાક્કી શ્રેણી પ્રિન્ટ કરો
    જ્યાં 0મું પદ 0 અને 1લું પદ 1 છે
    """
    # તપાસો કે ઇનપુટ માન્ય છે
    if n < 0:
        print("કૃપા કરીને એક સકારાત્મક પૂર્ણાંક દાખલ કરો")
        return
    
    # પ્રથમ બે પદોને પ્રારંભ કરો
    a, b = 0, 1
    count = 0
    
    print(f"{n} પદો સુધીની ફિબોનાક્કી શ્રેણી:")
    
    # ફિબોનાક્કી શ્રેણી પ્રિન્ટ કરો
    while count < n:
        print(a, end=" ")
        # આગળના પુનરાવર્તન માટે ચલો અપડેટ કરો
        next_term = a + b
        a = b
        b = next_term
        count += 1

આકૃતિ:

flowchart TD
    A([શરૂઆત]) --> B["print_fibonacci ફંકશન વ્યાખ્યાયિત કરો"]
    B --> C{"શું n < 0?"}
    C -->|હા| D["ભૂલ સંદેશ પ્રદર્શિત કરો"]
    D --> E([રિટર્ન])
    C -->|ના| F["a=0, b=1, count=0 પ્રારંભ કરો"]
    F --> G["શીર્ષક પ્રદર્શિત કરો"]
    G --> H{"શું count < n?"}
    H -->|હા| I["a પ્રિન્ટ કરો"]
    I --> J["next_term = a + b"]
    J --> K["a = b"]
    K --> L["b = next_term"]
    L --> M["count += 1"]
    M --> H
    H -->|ના| N([સમાપ્ત])

સમજૂતી:

  • ઇનપુટ વેલિડેશન: તપાસો કે N એક માન્ય સકારાત્મક પૂર્ણાંક છે
  • ચલો પ્રારંભ કરો: પ્રથમ બે ફિબોનાક્કી પદો સેટ કરો
  • શ્રેણી પ્રિન્ટ કરો: ફિબોનાક્કી નંબરોને પ્રિન્ટ કરવા માટે લૂપ
  • પદો અપડેટ કરો: આગળના પદની ગણતરી કરો અને આગળના પુનરાવર્તન માટે મૂલ્યો શિફ્ટ કરો
  • સમાપ્તિ: જ્યારે કાઉન્ટ N સુધી પહોંચે ત્યારે અટકો

મેમરી ટ્રીક: “FIST” (Fibonacci-Initialize-Shift-Terminate)

પ્રશ્ન 5(a) [3 ગુણ]
#

આપેલ સ્ટ્રિંગ મેથડ્સ સમજાવો: i. count() ii. upper() iii. replace()

જવાબ:

મેથડહેતુસિન્ટેક્સઉદાહરણઆઉટપુટ
count()સબસ્ટ્રિંગની ઘટનાઓની ગણતરી કરે છેstr.count(substring)"hello".count("l")2
upper()સ્ટ્રિંગને અપરકેસમાં રૂપાંતરિત કરે છેstr.upper()"hello".upper()"HELLO"
replace()સબસ્ટ્રિંગની બધી ઘટનાઓને બદલે છેstr.replace(old, new)"hello".replace("l", "r")"herro"

ઉદાહરણો:

text = "Python programming is fun and Python is easy to learn"

# count() મેથડ
print(f"'Python' ની ગણતરી: {text.count('Python')}")  # આઉટપુટ: 2
print(f"'is' ની ગણતરી: {text.count('is')}")  # આઉટપુટ: 2

# upper() મેથડ
print(f"અપરકેસ: {text.upper()}")  # આઉટપુટ: "PYTHON PROGRAMMING IS FUN AND PYTHON IS EASY TO LEARN"

# replace() મેથડ
print(f"'Python' ને 'Java' સાથે બદલો: {text.replace('Python', 'Java')}")
# આઉટપુટ: "Java programming is fun and Java is easy to learn"

મેમરી ટ્રીક: “CUR” (Count-Upper-Replace)

પ્રશ્ન 5(b) [4 ગુણ]
#

ટપલ ઓપરેશન ઉદાહરણ સાથે સમજાવો.

જવાબ:

પાયથોનમાં ટપલ્સ એ ક્રમમાં રહેલા, અપરિવર્તનીય સંગ્રહો છે જે કૌંસમાં બંધ થાય છે.

ઓપરેશનવર્ણનઉદાહરણપરિણામ
સર્જનમૂલ્યો સાથે ટપલ વ્યાખ્યાયિત કરોt = (1, 2, 3)3 આઇટમો સાથે ટપલ
ઇન્ડેક્સિંગસ્થિતિ દ્વારા આઇટમને એક્સેસ કરોt[0]1
સ્લાઇસિંગટપલનો ભાગ બહાર કાઢોt[1:3](2, 3)
કેટેનેશનબે ટપલ્સને જોડોt1 + t2સંયુક્ત ટપલ
રિપિટિશનટપલ તત્વોને પુનરાવર્તિત કરોt * 2ડુપ્લિકેટેડ તત્વો

ઉદાહરણો:

# ટપલ બનાવો
fruits = ("apple", "banana", "cherry")
print(f"ફળોનું ટપલ: {fruits}")

# ટપલ આઇટમોને એક્સેસ કરો
print(f"પ્રથમ ફળ: {fruits[0]}")  # આઉટપુટ: "apple"
print(f"છેલ્લું ફળ: {fruits[-1]}")  # આઉટપુટ: "cherry"

# ટપલ સ્લાઇસિંગ
print(f"પ્રથમ બે ફળો: {fruits[:2]}")  # આઉટપુટ: ("apple", "banana")

# ટપલ કેટેનેશન
more_fruits = ("orange", "kiwi")
all_fruits = fruits + more_fruits
print(f"બધા ફળો: {all_fruits}")  # આઉટપુટ: ("apple", "banana", "cherry", "orange", "kiwi")

# ટપલ રિપિટિશન
duplicated = fruits * 2
print(f"ડુપ્લિકેટેડ: {duplicated}")  # આઉટપુટ: ("apple", "banana", "cherry", "apple", "banana", "cherry")

# ટપલ ફંકશનો
print(f"લંબાઈ: {len(fruits)}")  # આઉટપુટ: 3
print(f"મહત્તમ: {max(fruits)}")  # આઉટપુટ: "cherry" (મૂળાક્ષર તુલના)
print(f"ન્યૂનતમ: {min(fruits)}")  # આઉટપુટ: "apple" (મૂળાક્ષર તુલના)

મેમરી ટ્રીક: “ICSM” (Immutable-Create-Slice-Merge)

પ્રશ્ન 5(c) [7 ગુણ]
#

બે સેટ બનાવવા અને આ બનાવેલા સેટ સાથે આપેલ ઓપરેશન કરવા માટે કોડ વિકસાવો: i) સેટ પર યુનિયન ઓપરેશન ii) સેટ પર ઇન્ટરસેક્શન ઓપરેશન iii) સેટ પર ડિફરન્સ ઓપરેશન iv) બે સેટનો સિમેટ્રિક ડિફરન્સ

જવાબ:

# સેટ ઓપરેશન દર્શાવવાનો પ્રોગ્રામ

# બે સેટ બનાવો
set_A = {1, 2, 3, 4, 5}
set_B = {4, 5, 6, 7, 8}

print(f"સેટ A: {set_A}")
print(f"સેટ B: {set_B}")

# i) યુનિયન ઓપરેશન (A ∪ B)
# A અથવા B અથવા બંનેમાં હાજર તત્વો
union_result = set_A.union(set_B)  # અથવા set_A | set_B
print(f"\ni) A અને B નો યુનિયન (A ∪ B): {union_result}")

# ii) ઇન્ટરસેક્શન ઓપરેશન (A ∩ B)
# A અને B બંનેમાં હાજર તત્વો
intersection_result = set_A.intersection(set_B)  # અથવા set_A & set_B
print(f"ii) A અને B નો ઇન્ટરસેક્શન (A ∩ B): {intersection_result}")

# iii) ડિફરન્સ ઓપરેશન (A - B)
# A માં હાજર પરંતુ B માં નહીં એવા તત્વો
difference_result = set_A.difference(set_B)  # અથવા set_A - set_B
print(f"iii) ડિફરન્સ (A - B): {difference_result}")

# વૈકલ્પિક ડિફરન્સ (B - A)
difference_alt = set_B.difference(set_A)  # અથવા set_B - set_A
print(f"    ડિફરન્સ (B - A): {difference_alt}")

# iv) સિમેટ્રિક ડિફરન્સ (A △ B)
# A અથવા B માં હાજર પરંતુ બંનેમાં નહીં એવા તત્વો
symmetric_difference = set_A.symmetric_difference(set_B)  # અથવા set_A ^ set_B
print(f"iv) સિમેટ્રિક ડિફરન્સ (A △ B): {symmetric_difference}")

આકૃતિ:

flowchart TD
    A([શરૂઆત]) --> B["set_A = {1,2,3,4,5} બનાવો"]
    B --> C["set_B = {4,5,6,7,8} બનાવો"]
    C --> D["સેટ A અને B પ્રિન્ટ કરો"]
    D --> E["union_result = set_A.union(set_B)"]
    E --> F["union_result પ્રિન્ટ કરો"]
    F --> G["intersection_result = set_A.intersection(set_B)"]
    G --> H["intersection_result પ્રિન્ટ કરો"]
    H --> I["difference_result = set_A.difference(set_B)"]
    I --> J["difference_result પ્રિન્ટ કરો"]
    J --> K["difference_alt = set_B.difference(set_A)"]
    K --> L["difference_alt પ્રિન્ટ કરો"]
    L --> M["symmetric_difference = set_A.symmetric_difference(set_B)"]
    M --> N["symmetric_difference પ્રિન્ટ કરો"]
    N --> O([સમાપ્ત])

સમજૂતી:

  • યુનિયન: ડુપ્લિકેટ વિના બંને સેટના બધા તત્વો (1, 2, 3, 4, 5, 6, 7, 8)
  • ઇન્ટરસેક્શન: બંને સેટમાં સામાન્ય તત્વો (4, 5)
  • ડિફરન્સ (A-B): A માં પરંતુ B માં નહીં એવા તત્વો (1, 2, 3)
  • ડિફરન્સ (B-A): B માં પરંતુ A માં નહીં એવા તત્વો (6, 7, 8)
  • સિમેટ્રિક ડિફરન્સ: A અથવા B માં પરંતુ બંનેમાં નહીં એવા તત્વો (1, 2, 3, 6, 7, 8)

મેમરી ટ્રીક: “UIDS” (Union-Intersection-Difference-Symmetric)

પ્રશ્ન 5(a) અથવા [3 ગુણ]
#

લિસ્ટને વ્યાખ્યાયિત કરો અને તે પાયથોનમાં કેવી રીતે બનાવવામાં આવે છે?

જવાબ: પાયથોનમાં લિસ્ટ એ ક્રમબદ્ધ, પરિવર્તનશીલ વસ્તુઓનો સંગ્રહ છે જે વિવિધ ડેટા પ્રકારોના હોઈ શકે છે, જે ચોરસ કૌંસમાં બંધ હોય છે.

લિસ્ટ સર્જન પદ્ધતિઓની સારણી:

પદ્ધતિવર્ણનઉદાહરણ
લિટરલચોરસ કૌંસનો ઉપયોગ કરીને બનાવોmy_list = [1, 2, 3]
કન્સ્ટ્રક્ટરlist() ફંકશનનો ઉપયોગ કરીને બનાવોmy_list = list((1, 2, 3))
કોમ્પ્રિહેન્શનએક લાઇન એક્સપ્રેશનનો ઉપયોગ કરીને બનાવોmy_list = [x for x in range(5)]
ઇટરેબલથીઅન્ય ઇટરેબલ્સને લિસ્ટમાં રૂપાંતરિત કરોmy_list = list("abc")
ખાલી લિસ્ટખાલી લિસ્ટ બનાવો અને પછીથી ઉમેરોmy_list = []

ઉદાહરણો:

# લિટરલ્સનો ઉપયોગ કરીને લિસ્ટ બનાવો
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", 3.14, True]

# list() કન્સ્ટ્રક્ટરનો ઉપયોગ કરીને બનાવો
tuple_to_list = list((10, 20, 30))
string_to_list = list("Python")

# લિસ્ટ કોમ્પ્રિહેન્શનનો ઉપયોગ કરીને બનાવો
squares = [x**2 for x in range(1, 6)]

# ખાલી લિસ્ટ બનાવો અને મૂલ્યો ઉમેરો
empty_list = []
empty_list.append("first")
empty_list.append("second")

print(f"સંખ્યાઓ: {numbers}")
print(f"મિશ્ર: {mixed}")
print(f"ટપલથી: {tuple_to_list}")
print(f"સ્ટ્રિંગથી: {string_to_list}")
print(f"વર્ગો: {squares}")
print(f"નિર્મિત લિસ્ટ: {empty_list}")

મેમરી ટ્રીક: “LCMIE” (Literal-Constructor-Mixed-Iterable-Empty)

પ્રશ્ન 5(b) અથવા [4 ગુણ]
#

ડિક્શનરી બિલ્ટ-ઇન ફંકશન અને મેથડ્સ સમજાવો.

જવાબ:

ડિક્શનરી એ કર્લી બ્રેસિઝ {} માં બંધ કી-વેલ્યુ જોડીઓનો સંગ્રહ છે.

ફંકશન/મેથડવર્ણનઉદાહરણપરિણામ
dict()ડિક્શનરી બનાવે છેdict(name='John', age=25){'name': 'John', 'age': 25}
len()આઇટમોની સંખ્યા પાછી મોકલે છેlen(my_dict)પૂર્ણાંક ગણતરી
keys()બધી કીનું વ્યૂ પાછું મોકલે છેmy_dict.keys()ડિક્શનરી વ્યૂ ઓબ્જેક્ટ
values()બધા મૂલ્યોનું વ્યૂ પાછું મોકલે છેmy_dict.values()ડિક્શનરી વ્યૂ ઓબ્જેક્ટ
items()(કી, મૂલ્ય) જોડીઓનું વ્યૂ પાછું મોકલે છેmy_dict.items()ડિક્શનરી વ્યૂ ઓબ્જેક્ટ
get()કી માટે મૂલ્ય, અથવા ડિફોલ્ટ પાછું મોકલે છેmy_dict.get('key', 'default')મૂલ્ય અથવા ડિફોલ્ટ
update()બીજા ડિક્શનરીથી કી/મૂલ્યો સાથે ડિક્શનરી અપડેટ કરે છેmy_dict.update(other_dict)None (ઇન-પ્લેસ અપડેટ કરે છે)
pop()કી સાથેની આઇટમ દૂર કરે છે અને મૂલ્ય પાછું મોકલે છેmy_dict.pop('key')દૂર કરેલી આઇટમનું મૂલ્ય

ઉદાહરણો:

# ડિક્શનરી બનાવો
student = {
    'name': 'John',
    'age': 20,
    'courses': ['Math', 'Science']
}

# બિલ્ટ-ઇન ફંકશનો
print(f"લંબાઈ: {len(student)}")  # આઉટપુટ: 3

# ડિક્શનરી મેથડ્સ
print(f"કીઝ: {student.keys()}")
print(f"વેલ્યુઝ: {student.values()}")
print(f"આઇટમ્સ: {student.items()}")

# ડિફોલ્ટ સાથે get મેથડ
print(f"ગ્રેડ મેળવો (ડિફોલ્ટ સાથે): {student.get('grade', 'N/A')}")

# ડિક્શનરી અપડેટ કરો
student.update({'grade': 'A', 'age': 21})
print(f"અપડેટ પછી: {student}")

# પોપ મેથડ
removed_item = student.pop('age')
print(f"દૂર કરેલી આઇટમ: {removed_item}")
print(f"પોપ પછી: {student}")

મેમરી ટ્રીક: “LKVIGUP” (Length-Keys-Values-Items-Get-Update-Pop)

પ્રશ્ન 5(c) અથવા [7 ગુણ]
#

1 થી 50 શ્રેણીમાં અવિભાજ્ય અને સંયુક્ત સંખ્યાઓની સૂચિ બનાવવા માટે પાયથોન કોડ વિકસાવો.

જવાબ:

# 1 થી 50 સુધી અવિભાજ્ય અને સંયુક્ત સંખ્યાઓની સૂચિ બનાવવાનો પ્રોગ્રામ

def is_prime(num):
    """
    સંખ્યા અવિભાજ્ય છે કે નહીં તે તપાસો
    અવિભાજ્ય હોય તો True, અન્યથા False પાછું મોકલે છે
    """
    # 1 અવિભાજ્ય સંખ્યા નથી
    if num <= 1:
        return False
    
    # 2 અવિભાજ્ય સંખ્યા છે
    if num == 2:
        return True
    
    # 2 થી મોટી બેકી સંખ્યાઓ અવિભાજ્ય નથી
    if num % 2 == 0:
        return False
    
    # num ના વર્ગમૂળ સુધીના વિષમ ભાજકોની તપાસ કરો
    # (ઓપ્ટિમાઇઝેશન: આપણે માત્ર sqrt(num) સુધી તપાસવાની જરૂર છે)
    for i in range(3, int(num**0.5) + 1, 2):
        if num % i == 0:
            return False
    
    return True

# અવિભાજ્ય અને સંયુક્ત સંખ્યાઓ માટે ખાલી લિસ્ટ પ્રારંભ કરો
prime_numbers = []
non_prime_numbers = []

# 1 થી 50 સુધીની દરેક સંખ્યાની તપાસ કરો
for num in range(1, 51):
    if is_prime(num):
        prime_numbers.append(num)
    else:
        non_prime_numbers.append(num)

# પરિણામો પ્રદર્શિત કરો
print(f"1 થી 50 સુધીની અવિભાજ્ય સંખ્યાઓ: {prime_numbers}")
print(f"1 થી 50 સુધીની સંયુક્ત સંખ્યાઓ: {non_prime_numbers}")

આકૃતિ:

flowchart LR
    A([શરૂઆત]) --> B["is_prime ફંકશન વ્યાખ્યાયિત કરો"]
    B --> C["prime_numbers = [ ], non_prime_numbers = [ ] પ્રારંભ કરો"]
    C --> D["num = 1 થી 50 સુધી લૂપ"]
    D --> E{"શું is_prime(num) True છે?"}
    E -->|હા| F["num ને prime_numbers માં ઉમેરો"]
    E -->|ના| G["num ને non_prime_numbers માં ઉમેરો"]
    F --> H{"લૂપ પૂર્ણ?"}
    G --> H
    H -->|ના| D
    H -->|હા| I["prime_numbers અને non_prime_numbers પ્રિન્ટ કરો"]
    I --> J([સમાપ્ત])

સમજૂતી:

  • હેલ્પર ફંકશન: is_prime() કાર્યક્ષમ રીતે તપાસે છે કે સંખ્યા અવિભાજ્ય છે કે નહીં
  • ઓપ્ટિમાઇઝેશન: સંખ્યાના વર્ગમૂળ સુધી જ વિભાજ્યતા તપાસે છે
  • વર્ગીકરણ: સંખ્યાઓને અવિભાજ્ય અથવા સંયુક્ત સૂચિમાં વર્ગીકૃત કરે છે
  • આઉટપુટ: અંતે બંને સૂચિઓ પ્રદર્શિત કરે છે

અવિભાજ્ય સંખ્યાઓ (1 થી 50): 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 સંયુક્ત સંખ્યાઓ (1 થી 50): 1, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50

મેમરી ટ્રીક: “POEMS” (Prime-Optimization-Efficient-Modulo-Sorting)

સંબંધિત

ઇલેક્ટ્રોનિક મેઝરમેન્ટ્સ એન્ડ ઇન્સ્ટ્રુમેન્ટ્સ (4331102) - વિન્ટર 2022 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન ઇલેક્ટ્રોનિક-મેઝરમેન્ટ્સ 4331102 2022 વિન્ટર
પાયથોન પ્રોગ્રામિંગ (1323203) - સમર 2023 સોલ્યુશન
21 મિનિટ
અભ્યાસ-સામગ્રી સોલ્યુશન પાયથોન-પ્રોગ્રામિંગ 1323203 2023 સમર
પર્યાવરણ અને ટકાઉપણું (4300003) - શિયાળો 2022 ઉકેલ
અભ્યાસ-સામગ્રી ઉકેલ પર્યાવરણ 4300003 2022 શિયાળો
ડેટા સ્ટ્રક્ચર વિથ પાયથોન (4331601) - શિયાળા 2023 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન ડેટા-સ્ટ્રક્ચર પાયથોન 4331601 2023 શિયાળા
ફંડામેન્ટલ્સ ઓફ ઇલેક્ટ્રોનિક્સ (4311102) - સમર 2023 સોલ્યુશન
22 મિનિટ
અભ્યાસ-સામગ્રી સોલ્યુશન ઇલેક્ટ્રોનિક્સ 4311102 2023 સમર
ડિજિટલ માર્કેટિંગના આવશ્યક તત્વો (4341601) - ઉનાળા 2023 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન ડિજિટલ-માર્કેટિંગ 4341601 2023 ઉનાળા