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

પાયથોન પ્રોગ્રામિંગ (1323203) - શિયાળુ 2023 સોલ્યુશન

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

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

આપેલ નંબર પોઝિટિવ છે કે નેગેટિવ તે તપાસવા માટે સ્યૂડો કોડ લખો

જવાબ:

BEGIN
    Input number
    IF number > 0 THEN
        Display "Number is positive"
    ELSE IF number < 0 THEN
        Display "Number is negative"
    ELSE
        Display "Number is zero"
    END IF
END

મનેમોનિક: “શૂન્ય સાથે સરખાવો”

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

એલ્ગોરિધમ વ્યાખ્યાયિત કરો અને ત્રણ નંબર માંથી મહત્તમ નંબર શોધવાનો એલ્ગોરિધમ બનાવો.

જવાબ:

Algorithm વ્યાખ્યા: એલ્ગોરિધમ એટલે ચોક્કસ સમસ્યાને ઉકેલવા માટે અથવા ગણતરી કરવા માટે બનાવેલ સ્ટેપ-બાય-સ્ટેપ પ્રક્રિયા અથવા નિયમોનો સેટ.

ત્રણ નંબરમાંથી મહત્તમ શોધવાનો એલ્ગોરિધમ:

BEGIN
    Input num1, num2, num3
    Set max = num1
    IF num2 > max THEN
        Set max = num2
    END IF
    IF num3 > max THEN
        Set max = num3
    END IF
    Display max
END

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Input num1, num2, num3]
    B --> C[Set max = num1]
    C --> D{Is num2 > max?}
    D -- Yes --> E[Set max = num2]
    D -- No --> F{Is num3 > max?}
    E --> F
    F -- Yes --> G[Set max = num3]
    F -- No --> H[Display max]
    G --> H
    H --> I[End]

મનેમોનિક: “સરખામણી અને બદલો”

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

તાપમાન ના સેલ્સિયસ ને ફેરનહાઇટ માં કન્વર્ટ કરવાનો પાયથોન કોડ લખો.

જવાબ:

# સેલ્સિયસથી ફેરનહાઇટ રૂપાંતરનો પ્રોગ્રામ

# યુઝર પાસેથી સેલ્સિયસ તાપમાન મેળવો
celsius = float(input("સેલ્સિયસમાં તાપમાન દાખલ કરો: "))

# સૂત્ર વાપરીને ફેરનહાઇટમાં રૂપાંતરિત કરો: F = (C * 9/5) + 32
fahrenheit = (celsius * 9/5) + 32

# પરિણામ દર્શાવો
print(f"{celsius}°C એ {fahrenheit}°F ની બરાબર છે")

ટેબલ: તાપમાન રૂપાંતરણ:

ઘટકવર્ણન
ઇનપુટસેલ્સિયસમાં તાપમાન
સૂત્રF = (C × 9/5) + 32
આઉટપુટફેરનહાઇટમાં તાપમાન

મનેમોનિક: “9થી ગુણાકાર, 5થી ભાગાકાર, 32 ઉમેરો”

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

કંપેરિઝન ઓપરેટર નું લિસ્ટ આપો અને દરેકને પાયથોન કોડના ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટેબલ: પાયથોન કંપેરિઝન ઓપરેટર્સ

ઓપરેટરવર્ણનઉદાહરણપરિણામ
==બરાબર છે5 == 5True
!=બરાબર નથી5 != 6True
>કરતાં મોટું6 > 3True
<કરતાં નાનું3 < 6True
>=કરતાં મોટું અથવા બરાબર5 >= 5True
<=કરતાં નાનું અથવા બરાબર5 <= 5True

કોડ ઉદાહરણ:

# પાયથોન કંપેરિઝન ઓપરેટર્સ ઉદાહરણ
a = 10
b = 5

# બરાબર છે
print(f"{a} == {b}: {a == b}")  # False

# બરાબર નથી
print(f"{a} != {b}: {a != b}")  # True

# કરતાં મોટું
print(f"{a} > {b}: {a > b}")    # True

# કરતાં નાનું
print(f"{a} < {b}: {a < b}")    # False

# કરતાં મોટું અથવા બરાબર
print(f"{a} >= {b}: {a >= b}")  # True

# કરતાં નાનું અથવા બરાબર
print(f"{a} <= {b}: {a <= b}")  # False

મનેમોનિક: “સરખાવો” (સમાન, રિલેશનલ, ખાસ સરખામણી, અસમાનતા, વધુ ઓછું)

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

પાયથોન ના ડેટા ટાઇપ સમજાવો.

જવાબ:

ટેબલ: પાયથોન ડેટા ટાઇપ્સ

ડેટા ટાઇપવર્ણનઉદાહરણ
intપૂર્ણાંક મૂલ્યોx = 10
floatદશાંશ બિંદુ મૂલ્યોy = 10.5
strટેક્સ્ટ અથવા અક્ષર મૂલ્યોname = "Python"
boolતાર્કિક મૂલ્યો (True/False)is_valid = True
listક્રમબદ્ધ, બદલી શકાય તેવો સંગ્રહnums = [1, 2, 3]
tupleક્રમબદ્ધ, ન બદલી શકાય તેવો સંગ્રહpoint = (5, 10)
dictકી-વેલ્યુ જોડીstudent = {"name": "John"}

મનેમોનિક: “NIFTY SLD” (નંબર્સ, ઇન્ટીજર્સ, ફ્લોટ્સ, ટેક્સ્ટ, યસ/નો, સીક્વન્સીસ, લિસ્ટ્સ, ડિક્શનરીઝ)

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

Nested If પાયથોન કોડ ના ઉદાહરણ સાથે સમજાવો.

જવાબ:

Nested if: એક conditional statement ની અંદર બીજું conditional statement લખવાને nested if કહેવામાં આવે છે. તે ઘણી શરતોને ક્રમમાં તપાસવાની મંજૂરી આપે છે.

# નંબર પોઝિટિવ, નેગેટિવ કે શૂન્ય છે તે ચકાસવા માટેનો nested if ઉદાહરણ
# અને જો પોઝિટિવ હોય, તો તે સમ છે કે વિષમ તે ચકાસો

num = int(input("એક નંબર દાખલ કરો: "))

if num > 0:
    print("પોઝિટિવ નંબર")
    # nested if જે ચકાસે છે કે પોઝિટિવ નંબર સમ છે કે વિષમ
    if num % 2 == 0:
        print("સમ નંબર")
    else:
        print("વિષમ નંબર")
elif num < 0:
    print("નેગેટિવ નંબર")
else:
    print("શૂન્ય")

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Input num]
    B --> C{Is num > 0?}
    C -- Yes --> D[Print Positive number]
    D --> E{Is num % 2 == 0?}
    E -- Yes --> F[Print Even number]
    E -- No --> G[Print Odd number]
    C -- No --> H{Is num < 0?}
    H -- Yes --> I[Print Negative number]
    H -- No --> J[Print Zero]
    F --> K[End]
    G --> K
    I --> K
    J --> K

મનેમોનિક: “ચેક અંદર ચેક”

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

ઉદાહરણ સાથે વિવિધ પ્રકારના પસંદગી/નિર્ણય લેવાના ફ્લો-ઓફ-કંટ્રોલ સ્ટ્રક્ચર ઉપયોગ સમજાવો

જવાબ:

ટેબલ: પાયથોનમાં સિલેક્શન કંટ્રોલ સ્ટ્રક્ચર્સ

સ્ટ્રક્ચરહેતુવપરાશ
ifશરત સાચી હોય ત્યારે કોડ ચલાવવાસરળ શરત ચકાસણી
if-elseસાચી શરત માટે એક કોડ, ખોટી માટે બીજોદ્વિ નિર્ણય લેવા
if-elif-elseઘણી શરતો ચકાસવીઘણા સંભવિત પરિણામો
Nested ifશરત અંદર બીજી શરતજટિલ શ્રેણીબદ્ધ નિર્ણયો
Ternary operatorએક લાઇન if-elseસરળ શરતી નિયુક્તિ

કોડ ઉદાહરણ:

# વિવિધ સિલેક્શન સ્ટ્રક્ચર્સનું ઉદાહરણ
score = int(input("તમારો સ્કોર દાખલ કરો: "))

# સાદું if
if score >= 90:
    print("ઉત્તમ!")

# if-else
if score >= 60:
    print("તમે પાસ થયા છો.")
else:
    print("તમે નાપાસ થયા છો.")

# if-elif-else
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"
print(f"તમારો ગ્રેડ {grade} છે")

# Ternary operator
result = "પાસ" if score >= 60 else "નાપાસ"
print(result)

મનેમોનિક: “SCENE” (સિમ્પલ if, કન્ડિશન્સ વિથ else, Elif ફોર મલ્ટિપલ, Nested ફોર કોમ્પ્લેક્સ, એક્સપ્રેસ વિથ ટર્નરી)

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

વેરિયેબલ વ્યાખ્યાયિત કરવાના નિયમો લિસ્ટ કરો.

જવાબ:

ટેબલ: પાયથોનમાં વેરિએબલ્સ વ્યાખ્યાયિત કરવાના નિયમો

નિયમવર્ણનઉદાહરણ
અક્ષર અથવા અન્ડરસ્કોરથી શરૂ કરોપ્રથમ અક્ષર એક લેટર અથવા અન્ડરસ્કોર હોવો જોઈએname = "John", _count = 10
કોઈ ખાસ અક્ષરો નહીંમાત્ર અક્ષરો, અંકો અને અન્ડરસ્કોર માન્યuser_name (માન્ય), user-name (અમાન્ય)
કેસ સેન્સિટિવમોટા અક્ષરો અને નાના અક્ષરો અલગage અને Age અલગ વેરિએબલ્સ છે
રિઝર્વ્ડ કીવર્ડ્સ નહીંપાયથોન કીવર્ડ્સને વેરિએબલ નામ તરીકે ઉપયોગ ન કરી શકાયif, for, while, વગેરે ઉપયોગ ન કરી શકાય
સ્પેસ નહીંસ્પેસને બદલે અન્ડરસ્કોર વાપરોfirst_name (first name નહીં)

મનેમોનિક: “SILKS” (શરૂઆત યોગ્ય રીતે, ઇગ્નોર સ્પેશિયલ કેરેક્ટર, લૂક એટ કેસ, કીવર્ડ્સ અવોઇડ, સ્પેસ નોટ અલાઉડ)

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

ફોર લૂપ ને જરૂરી ઉદાહરણ સાથે સમજાવો.

જવાબ:

પાયથોનમાં For Loop: for લૂપનો ઉપયોગ કોઈ sequence (લિસ્ટ, ટપલ, સ્ટ્રીંગ) અથવા અન્ય iterable ઓબ્જેક્ટ પર પુનરાવર્તન કરવા માટે થાય છે. તે sequence ના દરેક આઇટમ માટે કોડનો એક બ્લોક ચલાવે છે.

# પાયથોનમાં for લૂપનો ઉદાહરણ
# લિસ્ટના દરેક એલિમેન્ટને પ્રિન્ટ કરવા
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# range ફંક્શનનો for લૂપ સાથે ઉપયોગ
print("1 થી 5 સુધીના નંબર:")
for i in range(1, 6):
    print(i)

# સ્ટ્રિંગ સાથે for લૂપનો ઉપયોગ
name = "Python"
for char in name:
    print(char)

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Initialize sequence]
    B --> C[Get first item]
    C --> D[Execute code block]
    D --> E{More items?}
    E -- Yes --> F[Get next item]
    F --> D
    E -- No --> G[End]

મનેમોનિક: “ITEM” (Iterate Through Each Member) - દરેક સભ્ય પર પુનરાવર્તન કરો

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

Break અને continue સ્ટેટમેન્ટને સંક્ષિપ્તમાં સમજાવો.

જવાબ:

ટેબલ: Break અને Continue સ્ટેટમેન્ટ્સ

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

કોડ ઉદાહરણ:

# Break સ્ટેટમેન્ટ ઉદાહરણ
print("Break ઉદાહરણ:")
for i in range(1, 11):
    if i == 6:
        print("i =", i, "પર લૂપ તોડીએ છીએ")
        break
    print(i, end=" ")
print("\nલૂપ સમાપ્ત થઈ")

# Continue સ્ટેટમેન્ટ ઉદાહરણ
print("\nContinue ઉદાહરણ:")
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i, end=" ")
print("\nમાત્ર વિષમ નંબરો પ્રિન્ટ થયા")

ડાયાગ્રામ:

flowchart TD
    A[Start Loop] --> B{Condition met for break?}
    B -- Yes --> C[Exit Loop]
    B -- No --> D{Condition met for continue?}
    D -- Yes --> E[Skip to next iteration]
    E --> A
    D -- No --> F[Execute remaining code in loop body]
    F --> A
    C --> G[Continue execution after loop]

મનેમોનિક: “EXIT SKIP” (EXIT with break, SKIP with continue) - બ્રેક સાથે બહાર નીકળો, કન્ટિન્યુ સાથે છોડી દો

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

1 થી 10 નંબર ને લૂપથી પ્રિન્ટ કરવા માટેનો પાયથન કોડ બનાવો.

જવાબ:

# 1 થી 10 સુધીના નંબર પ્રિન્ટ કરવા for લૂપનો ઉપયોગ
print("for લૂપનો ઉપયોગ કરીને:")
for i in range(1, 11):
    print(i, end=" ")

print("\n\nwhile લૂપનો ઉપયોગ કરીને:")
# 1 થી 10 સુધીના નંબર પ્રિન્ટ કરવા while લૂપનો ઉપયોગ
counter = 1
while counter <= 10:
    print(counter, end=" ")
    counter += 1

ટેબલ: લૂપ અભિગમ

અભિગમફાયદો
range સાથે For લૂપસરળ, સંક્ષિપ્ત, આપોઆપ કાઉન્ટર મેનેજ કરે છે
While લૂપજટિલ શરતો માટે વધુ લવચીક

મનેમોનિક: “COUNT UP” (Counter દરેક પુનરાવર્તનમાં અપડેટ થાય છે)

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

નીચેની પેટર્ન પ્રિન્ટ કરવા માટેનો પાયથન કોડ લખો.

*
**
***
****
*****

જવાબ:

# for લૂપનો ઉપયોગ કરીને સ્ટાર પેટર્ન પ્રિન્ટ કરો
rows = 5

for i in range(1, rows + 1):
    # દરેક રો માં i જેટલા સ્ટાર પ્રિન્ટ કરો
    print("*" * i)

વૈકલ્પિક ઉકેલ નેસ્ટેડ લૂપ્સ સાથે:

# નેસ્ટેડ લૂપ્સનો ઉપયોગ કરીને સ્ટાર પેટર્ન પ્રિન્ટ કરો
rows = 5

for i in range(1, rows + 1):
    for j in range(1, i + 1):
        print("*", end="")
    print()  # દરેક રો પછી ન્યુ લાઇન

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Set rows = 5]
    B --> C[Initialize i = 1]
    C --> D{"Is i <= rows?"}
    D -- Yes --> E["Print '*' * i"]
    E --> F[Increment i]
    F --> D
    D -- No --> G[End]

મનેમોનિક: “RISE UP” (Row Increases, Stars Expand Upward Progressively) - રો વધે છે, સ્ટાર ઊપર તરફ વિસ્તરે છે

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

આપેલા નંબર નો factorial શોધવા માટેનું યુઝર ડિફાઇન ફંક્શન બનાવો.

જવાબ:

# આપેલા નંબરનો ફેક્ટોરિયલ શોધવા માટેનું ફંક્શન
def factorial(n):
    # ઇનપુટ માન્ય છે કે નહીં તે ચકાસો
    if not isinstance(n, int) or n < 0:
        return "અમાન્ય ઇનપુટ. કૃપા કરીને નોન-નેગેટિવ ઇન્ટીજર દાખલ કરો."
    
    # બેઝ કેસ: 0 અથવા 1 નો ફેક્ટોરિયલ 1 છે
    if n == 0 or n == 1:
        return 1
    
    # ઇટરેશન વાપરીને ફેક્ટોરિયલ ગણતરી
    result = 1
    for i in range(2, n + 1):
        result *= i
    
    return result

# ફંક્શન ટેસ્ટ કરો
number = int(input("ફેક્ટોરિયલ શોધવા માટે એક નંબર દાખલ કરો: "))
print(f"{number} નો ફેક્ટોરિયલ {factorial(number)} છે")

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Define factorial function]
    B --> C[Check if n is valid]
    C -- Invalid --> D[Return error message]
    C -- Valid --> E{Is n 0 or 1?}
    E -- Yes --> F[Return 1]
    E -- No --> G[Set result = 1]
    G --> H[Loop from 2 to n]
    H --> I[result = result * i]
    I --> J[Return result]
    J --> K[End]

ટેબલ: ફેક્ટોરિયલ ઉદાહરણો

નંબરગણતરીફેક્ટોરિયલ
00! = 11
11! = 11
33! = 3 × 2 × 16
55! = 5 × 4 × 3 × 2 × 1120

મનેમોનિક: “1 સુધી ગુણાકાર કરો” (બધા આંકડાને 1 સુધી ગુણાકાર કરો)

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

1 થી N માંથી odd અને even નંબર શોધવાનો પાયથન કોડ બનાવો.

જવાબ:

# 1 થી N સુધીના odd અને even નંબર શોધવાનો પ્રોગ્રામ

# યુઝર પાસેથી ઇનપુટ લો
N = int(input("N ની કિંમત દાખલ કરો: "))

print("1 થી", N, "સુધીના even નંબર છે:")
for i in range(1, N + 1):
    if i % 2 == 0:
        print(i, end=" ")

print("\n1 થી", N, "સુધીના odd નંબર છે:")
for i in range(1, N + 1):
    if i % 2 != 0:
        print(i, end=" ")

ટેબલ: Even અને Odd ચેક

નંબરચેકપ્રકાર
Even નંબરnumber % 2 == 02, 4, 6, …
Odd નંબરnumber % 2 != 01, 3, 5, …

મનેમોનિક: “MOD-2” (Modulo 2 જે even કે odd નક્કી કરે છે)

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

Nested લિસ્ટ અને તેના એલિમેન્ટ ડિસ્પ્લે કરવા માટેનો પાયથન કોડ બનાવો.

જવાબ:

# Nested લિસ્ટ બનાવવા અને ડિસ્પ્લે કરવાનો પ્રોગ્રામ

# Nested લિસ્ટ બનાવો
nested_list = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# Nested લિસ્ટ ડિસ્પ્લે કરો
print("Nested લિસ્ટ:", nested_list)

# Nested લૂપ્સનો ઉપયોગ કરીને દરેક એલિમેન્ટ ડિસ્પ્લે કરો
print("\nNested લિસ્ટના એલિમેન્ટ્સ:")
for i in range(len(nested_list)):
    for j in range(len(nested_list[i])):
        print(f"nested_list[{i}][{j}] = {nested_list[i][j]}")

# enumerate નો ઉપયોગ કરીને વૈકલ્પિક રીત
print("\nenumerate નો ઉપયોગ કરીને:")
for i, inner_list in enumerate(nested_list):
    for j, value in enumerate(inner_list):
        print(f"પોઝિશન ({i}, {j}): {value}")

ડાયાગ્રામ:

flowchart TD
    A[Nested List] --> B[Row 0]
    A --> C[Row 1]
    A --> D[Row 2]
    B --> B1[1]
    B --> B2[2]
    B --> B3[3]
    C --> C1[4]
    C --> C2[5]
    C --> C3[6]
    D --> D1[7]
    D --> D2[8]
    D --> D3[9]

મનેમોનિક: “ROWS COLS” (રો અને કોલમ માળખું બનાવે છે)

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

Local અને Global વેરિયેબલ ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટેબલ: Local vs Global વેરિએબલ્સ

પ્રકારસ્કોપએક્સેસિબિલિટીઘોષણા
Local વેરિએબલ્સમાત્ર જે ફંક્શનમાં ઘોષિત થયા છે ત્યાંમાત્ર ઘોષિત કરનાર ફંક્શનની અંદરફંક્શનની અંદર
Global વેરિએબલ્સસમગ્ર પ્રોગ્રામમાંબધા ફંક્શન એક્સેસ કરી શકેકોઈપણ ફંક્શનની બહાર

કોડ ઉદાહરણ:

# Global વેરિએબલ
total = 0

def add_numbers(a, b):
    # Local વેરિએબલ્સ
    sum_result = a + b
    print(f"Local વેરિએબલ sum_result: {sum_result}")
    
    # Global વેરિએબલ એક્સેસ કરવું
    print(f"Global વેરિએબલ total મોડિફિકેશન પહેલાં: {total}")
    
    # ફંક્શનની અંદર Global વેરિએબલ મોડિફાય કરવા
    global total
    total = sum_result
    print(f"Global વેરિએબલ total મોડિફિકેશન પછી: {total}")
    
    return sum_result

# મુખ્ય પ્રોગ્રામ
x = 5  # મુખ્ય પ્રોગ્રામમાં Local
y = 10  # મુખ્ય પ્રોગ્રામમાં Local

result = add_numbers(x, y)
print(f"પરિણામ: {result}")
print(f"અપડેટેડ global total: {total}")

# આ ભૂલ આપશે કારણ કે sum_result એ add_numbers માટે Local છે
# print(sum_result)  # NameError: name 'sum_result' is not defined

ડાયાગ્રામ:

flowchart TD
    A[Program Scope] --> B[Global Variables: total]
    A --> C[Function Scope: add_numbers]
    C --> D[Local Variables: sum_result, a, b]
    A --> E[Main Program Variables: x, y, result]
    B <-.-> C
    D -.- C
    E -.- A

મનેમોનિક: “GLOBAL SEES ALL” (Global વેરિએબલ્સ બધે જોઈ શકે છે)

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

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

જવાબ:

ટેબલ: પાયથોન Math મોડ્યુલ ફંક્શન્સ

ફંક્શનવર્ણનઉદાહરણ
abs()એબ્સોલ્યુટ વેલ્યુ આપે છેabs(-5)5
pow()x ને y ની ઘાત આપે છેpow(2, 3)8
max()સૌથી મોટી વેલ્યુ આપે છેmax(5, 10, 15)15
min()સૌથી નાની વેલ્યુ આપે છેmin(5, 10, 15)5
round()નજીકના પૂર્ણાંક સુધી રાઉન્ડ કરે છેround(4.6)5
math.sqrt()વર્ગમૂળmath.sqrt(16)4.0
math.sin()સાઇન ફંક્શનmath.sin(math.pi/2)1.0

મનેમોનિક: “PEARS Math” (Power, Exponents, Arithmetic, Roots, Sine functions in Math)

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

પાયથન મોડ્યુલ કોડ સાથે સમજાવો.

જવાબ:

મોડ્યુલ: પાયથોનમાં મોડ્યુલ એટલે પાયથોન વ્યાખ્યાઓ અને સ્ટેટમેન્ટ્સ ધરાવતી ફાઇલ. ફાઇલનું નામ .py સફિક્સ સાથેનું મોડ્યુલનું નામ છે.

# math મોડ્યુલના ઉપયોગનું ઉદાહરણ
import math

# math મોડ્યુલમાંથી ગાણિતિક ફંક્શન્સનો ઉપયોગ
radius = 5
area = math.pi * math.pow(radius, 2)
print(f"ત્રિજ્યા {radius} વાળા વર્તુળનું ક્ષેત્રફળ {area:.2f} છે")

# વિવિધ import ટેકનિક્સનો ઉપયોગ
from math import sqrt, sin
angle = math.pi / 4
print(f"25 નું વર્ગમૂળ {sqrt(25)} છે")
print(f"{angle} રેડિયન્સનો સાઇન {sin(angle):.4f} છે")

# alias સાથે import
import random as rnd
random_number = rnd.randint(1, 100)
print(f"1 અને 100 વચ્ચેનો રેન્ડમ નંબર: {random_number}")

ટેબલ: મોડ્યુલ Import ટેકનિક્સ

પદ્ધતિસિન્ટેક્સઉદાહરણ
આખો મોડ્યુલ import કરોimport module_nameimport math
ચોક્કસ આઇટમ્સ import કરોfrom module_name import item1, item2from math import sqrt, sin
alias સાથે import કરોimport module_name as aliasimport random as rnd

મનેમોનિક: “CODE-LIB” (Code Libraries for reuse) - ફરીથી ઉપયોગ માટે કોડ લાઇબ્રેરીઓ

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

એક પાયથન પ્રોગ્રામ લખો જે નિર્ધારિત કરે છે કે આપેલ નંબર ‘આર્મસ્ટ્રોંગ નંબર’ છે કે વપરાશકર્તા-વ્યાખ્યાયિત કાર્યનો ઉપયોગ કરીને પેલિન્ડ્રોમ છે.

જવાબ:

# નંબર આર્મસ્ટ્રોંગ છે કે નહીં તે ચેક કરવા માટેનું ફંક્શન
def is_armstrong(num):
    # અંકોની સંખ્યા ગણવા માટે નંબરને સ્ટ્રિંગમાં રૂપાંતરિત કરો
    num_str = str(num)
    n = len(num_str)
    
    # દરેક અંકને અંકોની સંખ્યાની ઘાત સુધી ઉગામેલા સરવાળાની ગણતરી
    armstrong_sum = 0
    for digit in num_str:
        armstrong_sum += int(digit) ** n
    
    # ચેક કરો કે સરવાળો મૂળ નંબર સાથે મેળ ખાય છે
    return armstrong_sum == num

# નંબર પેલિન્ડ્રોમ છે કે નહીં તે ચેક કરવા માટેનું ફંક્શન
def is_palindrome(num):
    # નંબરને સ્ટ્રિંગમાં રૂપાંતરિત કરો અને ચેક કરો કે તે આગળથી અને પાછળથી એક સરખો વંચાય છે
    num_str = str(num)
    return num_str == num_str[::-1]

# મુખ્ય પ્રોગ્રામ
number = int(input("એક નંબર દાખલ કરો: "))

# ચેક કરો કે નંબર આર્મસ્ટ્રોંગ છે કે નહીં
if is_armstrong(number):
    print(f"{number} એક આર્મસ્ટ્રોંગ નંબર છે")
else:
    print(f"{number} આર્મસ્ટ્રોંગ નંબર નથી")

# ચેક કરો કે નંબર પેલિન્ડ્રોમ છે કે નહીં
if is_palindrome(number):
    print(f"{number} એક પેલિન્ડ્રોમ છે")
else:
    print(f"{number} પેલિન્ડ્રોમ નથી")

ટેબલ: ઉદાહરણો

નંબરઆર્મસ્ટ્રોંગ ચેકપેલિન્ડ્રોમ ચેક
1531³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓153 ≠ 351 ✗
1211³ + 2³ + 1³ = 1 + 8 + 1 = 10 ≠ 121 ✗121 = 121 ✓
16341⁴ + 6⁴ + 3⁴ + 4⁴ = 1 + 1296 + 81 + 256 = 1634 ✓1634 ≠ 4361 ✗

ડાયાગ્રામ:

flowchart TD
    A[Start] --> B[Input number]
    B --> C{Check Armstrong}
    C --> D{Check Palindrome}
    C -- Yes --> E[Print - Is Armstrong]
    C -- No --> F[Print - Not Armstrong]
    D -- Yes --> G[Print - Is Palindrome]
    D -- No --> H[Print - Not Palindrome]
    E --> D
    F --> D
    G --> I[End]
    H --> I

મનેમોનિક: “SAME SUM” (SAME આગળ-પાછળ પેલિન્ડ્રોમ માટે, SUM ઘાતના અંકોનો આર્મસ્ટ્રોંગ માટે)

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

પાયથોનમાં બિલ્ટ ઇન ફંક્શન સમજાવો.

જવાબ:

Built-in Functions: આ ફંક્શન્સ પાયથોનના સ્ટાન્ડર્ડ લાઇબ્રેરીનો ભાગ છે અને કોઈપણ મોડ્યુલ import કર્યા વિના ઉપલબ્ધ છે.

ટેબલ: સામાન્ય પાયથોન Built-in Functions

ફંક્શનહેતુઉદાહરણ
print()આઉટપુટ ડિસ્પ્લેprint("Hello")
input()યુઝર ઇનપુટ લેname = input("Name: ")
len()ઓબ્જેક્ટની લંબાઈ આપેlen([1, 2, 3])3
type()ઓબ્જેક્ટનો પ્રકાર આપેtype(5)<class 'int'>
int(), float(), str()ચોક્કસ પ્રકારમાં રૂપાંતરint("5")5
range()સીક્વન્સ જનરેટ કરેlist(range(3))[0, 1, 2]
sum()સરવાળો ગણેsum([1, 2, 3])6

મનેમોનિક: “PITS LCR” (Print, Input, Type, Sum, Len, Convert, Range)

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

એક પાયથોન કોડનું ઉદાહરણ આપીને પાયથોન મેથ મોડ્યુલનું વર્ણન કરો.

જવાબ:

પાયથોન Math મોડ્યુલ: math મોડ્યુલ C સ્ટાન્ડર્ડ દ્વારા વ્યાખ્યાયિત ગાણિતિક ફંક્શન્સની એક્સેસ પ્રદાન કરે છે.

# math મોડ્યુલનો ઉપયોગ કરતો ઉદાહરણ
import math

# મૂળભૂત સ્થિરાંકો
print(f"pi ની કિંમત: {math.pi}")
print(f"e ની કિંમત: {math.e}")

# ત્રિકોણમિતિ ફંક્શન્સ (આર્ગ્યુમેન્ટ રેડિયન્સમાં)
angle = math.pi / 3  # 60 ડિગ્રી
print(f"{angle:.2f} રેડિયન્સનો સાઇન: {math.sin(angle):.4f}")
print(f"{angle:.2f} રેડિયન્સનો કોસાઇન: {math.cos(angle):.4f}")
print(f"{angle:.2f} રેડિયન્સનો ટેન્જન્ટ: {math.tan(angle):.4f}")

# લોગરિધમિક અને એક્સપોનેન્શિયલ ફંક્શન્સ
x = 10
print(f"{x} નો નેચરલ લોગરિધમ: {math.log(x):.4f}")
print(f"{x} નો લોગરિધમ બેઝ 10: {math.log10(x):.4f}")
print(f"e ની {x} ઘાત: {math.exp(x):.4f}")

# અન્ય ફંક્શન્સ
print(f"25 નું વર્ગમૂળ: {math.sqrt(25)}")
print(f"4.3 નો સીલિંગ: {math.ceil(4.3)}")
print(f"4.7 નો ફ્લોર: {math.floor(4.7)}")

ટેબલ: Math મોડ્યુલ કેટેગરીઝ

કેટેગરીફંક્શન્સ
સ્થિરાંકોmath.pi, math.e
ત્રિકોણમિતિsin(), cos(), tan()
લોગરિધમિકlog(), log10(), exp()
ન્યુમેરિકsqrt(), ceil(), floor()

મનેમોનિક: “PENT” (Pi/constants, Exponents, Numbers, Trigonometry)

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

પાયથોનમાં વેરીએબલના અવકાશનો કોન્સેપ્ટ સમજાવો અને પાયથોન પ્રોગ્રામમાં વૈશ્વિક અને સ્થાનિક વેરીએબલ કોન્સેપ્ટ લાગુ કરો.

જવાબ:

પાયથોનમાં વેરિએબલનો સ્કોપ: વેરિએબલનો સ્કોપ નક્કી કરે છે કે પ્રોગ્રામમાં ક્યાં વેરિએબલ એક્સેસિબલ કે દેખાય છે.

ટેબલ: વેરિએબલ સ્કોપના પ્રકારો

સ્કોપવર્ણનએક્સેસ
Localફંક્શનની અંદર વ્યાખ્યાયિત વેરિએબલ્સમાત્ર ફંક્શનની અંદર
Globalટોપ લેવલ પર વ્યાખ્યાયિત વેરિએબલ્સસમગ્ર પ્રોગ્રામમાં
Enclosingનેસ્ટેડ ફંક્શન્સના બાહ્ય ફંક્શનના વેરિએબલ્સબાહ્ય અને અંદરના ફંક્શનમાં
Built-inપાયથોનમાં પહેલેથી વ્યાખ્યાયિત વેરિએબલ્સસમગ્ર પ્રોગ્રામમાં

કોડ ઉદાહરણ:

# વેરિએબલ સ્કોપ ડેમોન્સ્ટ્રેશન

# Global વેરિએબલ
count = 0

def outer_function():
    # Enclosing સ્કોપ વેરિએબલ
    name = "Python"
    
    def inner_function():
        # Local વેરિએબલ
        age = 30
        # Global વેરિએબલ એક્સેસ કરવું
        global count
        count += 1
        # Enclosing વેરિએબલ એક્સેસ કરવું
        print(f"inner_function ની અંદર: name is {name}")
        print(f"inner_function ની અંદર: age is {age}")
        print(f"inner_function ની અંદર: count is {count}")
    
    # outer_function માટે Local વેરિએબલ
    language = "Programming"
    print(f"outer_function ની અંદર: name is {name}")
    print(f"outer_function ની અંદર: language is {language}")
    print(f"outer_function ની અંદર: count is {count}")
    
    # ઇનર ફંક્શન કોલ કરો
    inner_function()
    
    # આ ભૂલ આપશે - age એ inner_function માટે Local છે
    # print(age)

# મુખ્ય પ્રોગ્રામ
print(f"Global સ્કોપ: count is {count}")
outer_function()
print(f"ફંક્શન કોલ પછી Global સ્કોપ: count is {count}")

# આ ભૂલ આપશે - તેઓ ફંક્શન્સ માટે Local છે
# print(name)
# print(language)

ડાયાગ્રામ:

flowchart TD
    A[Global Scope] --> B[count]
    A --> C[outer_function]
    C --> D[Enclosing Scope: name, language]
    D --> E[inner_function]
    E --> F[Local Scope: age]
    B <-.-> E
    D <-.-> E

મનેમોનિક: “LEGB” (Local, Enclosing, Global, Built-in - સ્કોપ લુકઅપનો ક્રમ)

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

આપેલ સૂચિમાં બે ઘટકોને સ્વેપ કરવા માટે પાયથોન પ્રોગ્રામ બનાવો.

જવાબ:

# લિસ્ટમાં બે એલિમેન્ટ્સ સ્વેપ કરવાનો પ્રોગ્રામ

# એક લિસ્ટ બનાવો
my_list = [10, 20, 30, 40, 50]
print("મૂળ લિસ્ટ:", my_list)

# સ્વેપ કરવા માટેની પોઝિશન મેળવો
pos1 = int(input("પ્રથમ પોઝિશન દાખલ કરો (ઇન્ડેક્સ 0 થી શરૂ થાય છે): "))
pos2 = int(input("બીજી પોઝિશન દાખલ કરો (ઇન્ડેક્સ 0 થી શરૂ થાય છે): "))

# ટેમ્પરરી વેરિએબલનો ઉપયોગ કરીને એલિમેન્ટ્સ સ્વેપ કરો
if 0 <= pos1 < len(my_list) and 0 <= pos2 < len(my_list):
    # સ્વેપિંગ
    temp = my_list[pos1]
    my_list[pos1] = my_list[pos2]
    my_list[pos2] = temp
    
    print(f"પોઝિશન {pos1} અને {pos2} પર એલિમેન્ટ્સ સ્વેપ કર્યા પછી લિસ્ટ:", my_list)
else:
    print("અમાન્ય પોઝિશન! પોઝિશન લિસ્ટની રેન્જની અંદર હોવી જોઈએ.")

વૈકલ્પિક પદ્ધતિ:

# પાયથોનની tuple અનપેકિંગનો ઉપયોગ કરીને સ્વેપ (વધુ પાયથોનિક)
if 0 <= pos1 < len(my_list) and 0 <= pos2 < len(my_list):
    my_list[pos1], my_list[pos2] = my_list[pos2], my_list[pos1]
    print(f"પોઝિશન {pos1} અને {pos2} પર એલિમેન્ટ્સ સ્વેપ કર્યા પછી લિસ્ટ:", my_list)

ટેબલ: સ્વેપિંગ પદ્ધતિઓ

પદ્ધતિકોડ
ટેમ્પ વેરિએબલનો ઉપયોગtemp = a; a = b; b = temp
પાયથોન ટપલ અનપેકિંગa, b = b, a

મનેમોનિક: “TEMP SWAP” (ટેમ્પરરી વેરિએબલ સલામત સ્વેપિંગમાં મદદ કરે છે)

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

ઉદાહરણ આપીને નેસ્ટેડ લિસ્ટ સમજાવો

જવાબ:

Nested List: Nested list એટલે એવી લિસ્ટ જેના એલિમેન્ટ્સ તરીકે અન્ય લિસ્ટ હોય, જે મલ્ટી-ડાયમેન્શનલ ડેટા સ્ટ્રક્ચર બનાવે છે.

# Nested list બનાવવી (3x3 મેટ્રિક્સ)
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# એલિમેન્ટ્સ એક્સેસ કરવા
print("સંપૂર્ણ મેટ્રિક્સ:", matrix)
print("પ્રથમ રો:", matrix[0])
print("રો 1, કોલમ 2 પર એલિમેન્ટ:", matrix[0][1])  # આઉટપુટ: 2

# એલિમેન્ટ્સ મોડિફાય કરવા
matrix[1][1] = 50
print("મોડિફિકેશન પછી મેટ્રિક્સ:", matrix)

# Nested list પર પુનરાવર્તન
print("\nમેટ્રિક્સ પ્રિન્ટ કરી રહ્યા છીએ:")
for row in matrix:
    for element in row:
        print(element, end=" ")
    print()  # દરેક રો પછી નવી લાઇન

ડાયાગ્રામ:

flowchart TD
    A[matrix] --> B[Row 0]
    A --> C[Row 1]
    A --> D[Row 2]
    B --> B1[1]
    B --> B2[2]
    B --> B3[3]
    C --> C1[4]
    C --> C2[50]
    C --> C3[6]
    D --> D1[7]
    D --> D2[8]
    D --> D3[9]

ટેબલ: Nested List ઓપરેશન્સ

ઓપરેશનસિન્ટેક્સઉદાહરણ
એલિમેન્ટ એક્સેસlist[row][col]matrix[0][1]
એલિમેન્ટ મોડિફાયlist[row][col] = new_valuematrix[1][1] = 50
નવી રો ઉમેરવીlist.append([...])matrix.append([10, 11, 12])

મનેમોનિક: “MARS” (Matrix Access with Row and column Structure) - મેટ્રિક્સ એક્સેસ રો અને કોલમ માળખા સાથે

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

ઉદાહરણો સાથે સ્ટ્રિંગ ઓપરેશન્સ સમજાવો

જવાબ:

ટેબલ: પાયથોનમાં સ્ટ્રિંગ ઓપરેશન્સ

ઓપરેશનવર્ણનઉદાહરણ
કન્કેટેનેશનસ્ટ્રિંગ્સ જોડવી"Hello" + " World""Hello World"
રિપિટિશનસ્ટ્રિંગ્સ પુનરાવર્તિત કરવી"Python" * 3"PythonPythonPython"
સ્લાઇસિંગસબસ્ટ્રિંગ એક્સટ્રેક્ટ"Python"[1:4]"yth"
ઇન્ડેક્સિંગએક્સેસ કેરેક્ટર"Python"[0]"P"
લેન્થકેરેક્ટર્સ ગણોlen("Python")6
મેમ્બરશિપચેક કરો કે હાજર છે"P" in "Python"True
કમ્પેરિઝનસ્ટ્રિંગ્સ સરખાવો"apple" < "banana"True

કોડ ઉદાહરણ:

# સ્ટ્રિંગ ઓપરેશન્સ ડેમોન્સ્ટ્રેશન
text = "Python Programming"

# ઇન્ડેક્સિંગ
print("પ્રથમ કેરેક્ટર:", text[0])
print("છેલ્લી કેરેક્ટર:", text[-1])

# સ્લાઇસિંગ
print("પ્રથમ શબ્દ:", text[:6])
print("બીજો શબ્દ:", text[7:])
print("મધ્યના કેરેક્ટર્સ:", text[3:10])
print("રિવર્સ:", text[::-1])

# સ્ટ્રિંગ મેથડ્સ
print("અપરકેસ:", text.upper())
print("લોવરકેસ:", text.lower())
print("'P' ને 'J' સાથે બદલો:", text.replace("P", "J"))
print("સ્પેસ દ્વારા સ્પ્લિટ:", text.split())
print("'m' ની ગણતરી:", text.count('m'))
print("'gram' શોધો:", text.find("gram"))

# ચેક ઓપરેશન્સ
print("આલ્ફાન્યુમેરિક છે?", text.isalnum())
print("'Py' થી શરૂ થાય છે?", text.startswith("Py"))
print("'ing' થી સમાપ્ત થાય છે?", text.endswith("ing"))

ડાયાગ્રામ:

flowchart LR
    A["Python Programming"] --> B["Indexing: P (0), g (-1)"]
    A --> C["Slicing: Python (0:6), Programming (7:)"]
    A --> D["Methods: PYTHON PROGRAMMING (upper())"]
    A --> E["Checks: startswith, endswith, isalnum, etc"]

મનેમોનિક: “SCREAM” (Slice, Concat, Replace, Extract, Access, Methods)

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

આપેલ સૂચિમાં તમામ ઘટકોનો સરવાળો શોધવા માટે પાયથોન પ્રોગ્રામ બનાવો.

જવાબ:

# લિસ્ટમાં બધા એલિમેન્ટ્સનો સરવાળો શોધવાનો પ્રોગ્રામ

# પદ્ધતિ 1: બિલ્ટ-ઈન sum() ફંક્શનનો ઉપયોગ
def sum_list_builtin(numbers):
    return sum(numbers)

# પદ્ધતિ 2: લૂપનો ઉપયોગ
def sum_list_loop(numbers):
    total = 0
    for num in numbers:
        total += num
    return total

# સેમ્પલ લિસ્ટ બનાવો
my_list = [10, 20, 30, 40, 50]
print("લિસ્ટ:", my_list)

# બિલ્ટ-ઈન ફંક્શનનો ઉપયોગ કરીને સરવાળો ગણો
print("બિલ્ટ-ઈન ફંક્શનનો ઉપયોગ કરીને સરવાળો:", sum_list_builtin(my_list))

# લૂપનો ઉપયોગ કરીને સરવાળો ગણો
print("લૂપનો ઉપયોગ કરીને સરવાળો:", sum_list_loop(my_list))

ટેબલ: સરવાળા પદ્ધતિઓની તુલના

પદ્ધતિફાયદો
બિલ્ટ-ઈન sum()સરળ, કાર્યક્ષમ, ઝડપી
લૂપ અભિગમકસ્ટમ સમિંગ લોજિક માટે કામ કરે છે

મનેમોનિક: “ADD ALL” (દરેક એલિમેન્ટને ઉમેરો)

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

પાયથોન લિસ્ટમાં ઈન્ડેક્સીંગ અને સ્લાઇસિંગ ઓપરેશન્સ સમજાવો

જવાબ:

ટેબલ: ઇન્ડેક્સિંગ અને સ્લાઇસિંગ ઓપરેશન્સ

ઓપરેશનસિન્ટેક્સવર્ણનઉદાહરણ
પોઝિટિવ ઇન્ડેક્સિંગlist[i]પોઝિશન i પર આઇટમ એક્સેસ કરો (0-બેઝ્ડ)fruits[0] → પ્રથમ આઇટમ
નેગેટિવ ઇન્ડેક્સિંગlist[-i]અંતથી આઇટમ એક્સેસ કરો (-1 છેલ્લું છે)fruits[-1] → છેલ્લી આઇટમ
બેઝિક સ્લાઇસિંગlist[start:end]start થી end-1 સુધીના આઇટમ્સfruits[1:3] → 1,2 પરના આઇટમ્સ
સ્ટેપ સાથે સ્લાઇસlist[start:end:step]step ના અંતરાલ સાથે આઇટમ્સnums[1:6:2] → 1,3,5 પરના આઇટમ્સ
ઇન્ડિસીસ છોડવાlist[:end], list[start:]શરૂઆતથી અથવા અંત સુધીfruits[:3] → પ્રથમ 3 આઇટમ્સ
નેગેટિવ સ્લાઇસિંગlist[-start:-end]અંતથી સ્લાઇસfruits[-3:-1] → 3જી અને 2જી છેલ્લી
રિવર્સlist[::-1]લિસ્ટ રિવર્સ કરોfruits[::-1] → લિસ્ટ રિવર્સમાં

કોડ ઉદાહરણ:

# ઇન્ડેક્સિંગ અને સ્લાઇસિંગ ડેમોન્સ્ટ્રેશન
fruits = ["apple", "banana", "cherry", "date", "elderberry", "fig"]
print("મૂળ લિસ્ટ:", fruits)

# ઇન્ડેક્સિંગ
print("\nઇન્ડેક્સિંગ ઉદાહરણો:")
print("પ્રથમ આઇટમ:", fruits[0])  # apple
print("છેલ્લી આઇટમ:", fruits[-1])  # fig
print("ત્રીજી આઇટમ:", fruits[2])  # cherry

# સ્લાઇસિંગ
print("\nસ્લાઇસિંગ ઉદાહરણો:")
print("પ્રથમ ત્રણ આઇટમ્સ:", fruits[:3])  # ['apple', 'banana', 'cherry']
print("છેલ્લી ત્રણ આઇટમ્સ:", fruits[-3:])  # ['date', 'elderberry', 'fig']
print("મધ્યની આઇટમ્સ:", fruits[2:4])  # ['cherry', 'date']
print("દરેક બીજી આઇટમ:", fruits[::2])  # ['apple', 'cherry', 'elderberry']
print("રિવર્સ લિસ્ટ:", fruits[::-1])  # ['fig', 'elderberry', 'date', 'cherry', 'banana', 'apple']

ડાયાગ્રામ:

flowchart LR
    A["List: fruits"] --> B{{"Indexing"}}
    A --> C{{"Slicing"}}
    B --> D["Positive: fruits[0], fruits[1], ..."]
    B --> E["Negative: fruits[-1], fruits[-2], ..."]
    C --> F["Basic: fruits[1:3]"]
    C --> G["With step: fruits[::2]"]
    C --> H["Reverse: fruits[::-1]"]

મનેમોનિક: “START-END-STEP” (સ્લાઇસિંગ સિન્ટેક્સ: [start🔚step])

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

જરૂરી ઉદાહરણ સાથે tuple ને ટૂંકમાં સમજાવો.

જવાબ:

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

ટેબલ: Tuple vs List

ફીચરTupleList
સિન્ટેક્સ(item1, item2)[item1, item2]
પરિવર્તનશીલતાImmutable (બદલી શકાતી નથી)Mutable (બદલી શકાય છે)
પરફોર્મન્સઝડપીધીમું
ઉપયોગ કેસફિક્સ્ડ ડેટા, ડિક્શનરી કીઝડેટા જેને મોડિફિકેશનની જરૂર પડે
મેથડ્સઓછી મેથડ્સઘણી મેથડ્સ

કોડ ઉદાહરણ:

# Tuples બનાવવા
empty_tuple = ()
single_item_tuple = (1,)  # સિંગલ આઇટમ માટે કોમા જરૂરી છે
mixed_tuple = (1, "Hello", 3.14, True)
nested_tuple = (1, 2, (3, 4), 5)

# Tuple એલિમેન્ટ્સ એક્સેસ કરવા
print("પ્રથમ આઇટમ:", mixed_tuple[0])  # 1
print("છેલ્લી આઇટમ:", mixed_tuple[-1])  # True
print("Nested tuple એલિમેન્ટ:", nested_tuple[2][0])  # 3

# Tuple સ્લાઇસિંગ
print("પ્રથમ બે આઇટમ્સ:", mixed_tuple[:2])  # (1, "Hello")

# Tuple અનપેકિંગ
a, b, c, d = mixed_tuple
print("અનપેક કરેલી વેલ્યુઝ:", a, b, c, d)

# Tuple મેથડ્સ
print("1 ની ગણતરી:", mixed_tuple.count(1))  # 1
print("'Hello' નો ઇન્ડેક્સ:", mixed_tuple.index("Hello"))  # 1

# Tuple ઓપરેશન્સ
combined_tuple = mixed_tuple + nested_tuple
repeated_tuple = mixed_tuple * 2
print("કોમ્બાઇન્ડ tuple:", combined_tuple)
print("રિપીટેડ tuple:", repeated_tuple)

# આ ભૂલ આપશે કારણ કે tuples immutable છે
# mixed_tuple[0] = 100  # TypeError: 'tuple' object does not support item assignment

ડાયાગ્રામ:

flowchart TD
    A["Tuple (1, 'Hello', 3.14, True)"] -->|"index[0]"| B[1]
    A -->|"index[1]"| C["Hello"]
    A -->|"index[2]"| D[3.14]
    A -->|"index[3]"| E[True]
    F["Operations"] --> G["Access: tuple[i]"]
    F --> H["Slice: tuple[i:j]"]
    F --> I["Concatenate: tuple1 + tuple2"]
    F --> J["Repeat: tuple * n"]
    K["Methods"] --> L["count()"]
    K --> M["index()"]

મનેમોનિક: “IPAC” (Immutable, Parentheses, Access only, Cannot modify) - અપરિવર્તનીય, કૌંસ, માત્ર એક્સેસ, મોડિફાય ન કરી શકાય

સંબંધિત

ઇલેક્ટ્રોનિક કોમ્યુનિકેશનના સિદ્ધાંતો (4331104) - વિન્ટર 2023 સોલ્યુશન
20 મિનિટ
Study-Material Solutions Electronic-Communication 4331104 2023 Winter
ઇલેક્ટ્રોનિક કમ્યુનિકેશનના સિદ્ધાંતો (4331104) - ગ્રીષ્મ 2023 સોલ્યુશન
23 મિનિટ
Study-Material Solutions Electronic-Communication 4331104 2023 Summer
ઇલેક્ટ્રોનિક કોમ્યુનિકેશનના સિદ્ધાંતો (4331104) - શિયાળો 2022 સોલ્યુશન
20 મિનિટ
Study-Material Solutions Electronic-Communication 4331104 2022 Winter
ડિજિટલ કોમ્યુનિકેશન (4341102) - વિન્ટર 2023 સોલ્યુશન
19 મિનિટ
Study-Material Solutions Digital-Communication 4341102 2023 Winter
ઇલેક્ટ્રિકલ અને ઇલેક્ટ્રોનિક્સ ઇજનેરીના તત્વો (1313202) - શિયાળો 2023 ઉકેલ
15 મિનિટ
Study-Material Solutions Electrical Electronics 1313202 2023 Winter
ભૌતિકશાસ્ત્ર (4300005) - શિયાળુ 2023 સોલ્યુશન
20 મિનિટ
Study-Material Solutions Physics 4300005 2023 Winter Gujarati