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

Python Programming (4311601) - Winter 2024 Solution (Gujarati)

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

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

પ્રોબ્લમ સોલવિંગ, અલ્ગોરિધમ અને સ્યુડો કોડ વ્યાખ્યાયિત કરો.

જવાબ:

શબ્દવ્યાખ્યા
પ્રોબ્લમ સોલવિંગતર્કસંગત વિચારસરણી વાપરીને જટિલ સમસ્યાઓનાં ઉકેલ શોધવાની પદ્ધતિ
અલ્ગોરિધમમર્યાદિત ઓપરેશન સાથે સમસ્યા ઉકેલવાની પગલું-દર-પગલું પ્રક્રિયા
સ્યુડો કોડસામાન્ય અંગ્રેજી જેવા syntax નો ઉપયોગ કરીને program logic નું અનૌપચારિક વર્ણન
  • પ્રોબ્લમ સોલવિંગ: જટિલ સમસ્યાઓને વ્યવસ્થિત પગલાઓમાં વહેંચવું
  • અલ્ગોરિધમ: મર્યાદિત, નિશ્ચિત, અસરકારક અને યોગ્ય આઉટપુટ આપતું હોવું જોઈએ
  • સ્યુડો કોડ: માનવ ભાષા અને programming કોડ વચ્ચેનો સેતુ

મેમરી ટ્રીક: “PAP - Problem, Algorithm, Pseudo”

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

ફ્લોચાર્ટના જુદા જુદા સિમ્બોલ સમજાવો. બે નંબર માંથી મહત્તમ નંબર શોધતો ફ્લોચાર્ટ ડિઝાઇન કરો.

જવાબ:

સિમ્બોલઆકારહેતુ
અંડાકારશરૂઆત/અંત
લંબચોરસપ્રક્રિયા/ક્રિયા
હીરોનિર્ણય
સમાંતર ચતુષ્કોણઇનપુટ/આઉટપુટ

બે નંબરના મહત્તમ માટે ફ્લોચાર્ટ:

flowchart TD
    A([શરૂઆત]) --> B[/A, B ઇનપુટ કરો/]
    B --> C{A > B?}
    C -->|હા| D[Max = A]
    C -->|ના| E[Max = B]
    D --> F[/Max દર્શાવો/]
    E --> F
    F --> G([અંત])
  • શરૂઆત/અંત: પ્રવેશ અને બહાર નીકળવાના બિંદુઓ
  • ઇનપુટ/આઉટપુટ: ડેટા ફ્લો ઓપરેશન્સ
  • નિર્ણય: શરતી branching
  • પ્રક્રિયા: ગણતરીના પગલાં

મેમરી ટ્રીક: “SIPO - Start, Input, Process, Output”

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

પાયથોનના વિવિધ એરિથમેટિક ઓપરેટરોની યાદી બનાવો. વિવિધ એરિથમેટિક ઓપરેશન્સ માટેનો Python કોડ લખો.

જવાબ:

ઓપરેટરસિમ્બોલઉદાહરણપરિણામ
ઉમેરો+5 + 38
બાદબાકી-5 - 32
ગુણાકાર*5 * 315
ભાગાકાર/5 / 31.667
ફ્લોર ડિવિઝન//5 // 31
મોડ્યુલસ%5 % 32
ઘાત**5 ** 3125

કોડ:

a = 10
b = 3
print(f"ઉમેરો: {a + b}")
print(f"બાદબાકી: {a - b}")
print(f"ગુણાકાર: {a * b}")
print(f"ભાગાકાર: {a / b}")
print(f"ફ્લોર ડિવિઝન: {a // b}")
print(f"મોડ્યુલસ: {a % b}")
print(f"ઘાત: {a ** b}")

મેમરી ટ્રીક: “Add-Sub-Mul-Div-Floor-Mod-Pow”

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

પાયથોનના વિવિધ કંપેરિઝન ઓપરેટરોની યાદી બનાવો. વિવિધ કંપેરિઝન ઓપરેશન્સ માટેનો Python કોડ લખો.

જવાબ:

ઓપરેટરસિમ્બોલહેતુઉદાહરણ
સમાન==સમાનતા ચકાસો5 == 3 → False
અસમાન!=અસમાનતા ચકાસો5 != 3 → True
મોટું>મોટું ચકાસો5 > 3 → True
નાનું<નાનું ચકાસો5 < 3 → False
મોટું સમાન>=મોટું/સમાન ચકાસો5 >= 3 → True
નાનું સમાન<=નાનું/સમાન ચકાસો5 <= 3 → False

કોડ:

x = 8
y = 5
print(f"સમાન: {x == y}")
print(f"અસમાન: {x != y}")
print(f"મોટું: {x > y}")
print(f"નાનું: {x < y}")
print(f"મોટું સમાન: {x >= y}")
print(f"નાનું સમાન: {x <= y}")

મેમરી ટ્રીક: “Equal-Not-Greater-Less-GreaterEqual-LessEqual”

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

મેમ્બરશિપ ઓપરેટર્સ ઉપર ટૂંક નોંધ લખો.

જવાબ:

ઓપરેટરહેતુઉદાહરણ
inએલિમેન્ટ અસ્તિત્વ ચકાસો‘a’ in ‘apple’ → True
not inએલિમેન્ટ અનસ્તિત્વ ચકાસો‘z’ not in ‘apple’ → True
  • in ઓપરેટર: જો એલિમેન્ટ sequence માં મળે તો True આપે
  • not in ઓપરેટર: જો એલિમેન્ટ sequence માં ન મળે તો True આપે
  • ઉપયોગ: Lists, strings, tuples, dictionaries માં

મેમરી ટ્રીક: “In-Not-In for membership testing”

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

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

જવાબ:

પાયથોન વ્યાખ્યા: સરળતા અને વાંચનીયતા માટે જાણીતી high-level, interpreted programming language.

એપ્લિકેશન ક્ષેત્રઉદાહરણો
વેબ ડેવલપમેન્ટDjango, Flask frameworks
ડેટા સાયન્સNumPy, Pandas, Matplotlib
AI/MLTensorFlow, Scikit-learn
ડેસ્કટોપ એપ્સTkinter, PyQt
ગેમ ડેવલપમેન્ટPygame library
  • Interpreted: compilation ની જરૂર નથી
  • Cross-platform: બહુવિધ OS પર ચાલે છે
  • વિશાળ libraries: વ્યાપક standard library

મેમરી ટ્રીક: “Web-Data-AI-Desktop-Games”

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

પાયથોન પ્રોગ્રામ લખો જે નીચેની વિગતોનો ઉપયોગ કરીને વીજળી બિલની ગણતરી કરે છે.

જવાબ:

દરોનું ટેબલ:

યુનિટ રેન્જદર પ્રતિ યુનિટ
≤ 100રૂ 5.00
101-200રૂ 7.50
201-300રૂ 10.00
≥ 301રૂ 15.00

કોડ:

units = int(input("વપરાયેલ યુનિટ્સ દાખલ કરો: "))

if units <= 100:
    bill = units * 5.00
elif units <= 200:
    bill = units * 7.50
elif units <= 300:
    bill = units * 10.00
else:
    bill = units * 15.00

print(f"કુલ બિલ: રૂ {bill}")
  • શરતી તર્ક: if-elif-else structure
  • દર ગણતરી: યુનિટ slabs આધારિત
  • યુઝર ઇનપુટ: interactive billing system

મેમરી ટ્રીક: “Input-Check-Calculate-Display”

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

આઇડેન્ટિટી ઓપરેટર્સ ઉપર ટૂંક નોંધ લખો.

જવાબ:

ઓપરેટરહેતુઉદાહરણ
isસમાન ઓબ્જેક્ટ ચકાસોa is b
is notજુદા ઓબ્જેક્ટ ચકાસોa is not b
  • is ઓપરેટર: ઓબ્જેક્ટ identity સરખાવે, values નહીં
  • is not ઓપરેટર: ઓબ્જેક્ટ્સ જુદા છે કે નહીં ચકાસે
  • મેમરી સરખામણી: સમાન મેમરી સ્થાન ચકાસે

મેમરી ટ્રીક: “Is-IsNot for object identity”

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

પાયથોનમાં ઇન્ડેન્ટેશન શું છે? પાયથોનની વિવિધ વિશેષતાઓ સમજાવો.

જવાબ:

ઇન્ડેન્ટેશન: કોડ બ્લોક્સ વ્યાખ્યાયિત કરવા માટે લાઇનની શરૂઆતમાં whitespace.

વિશેષતાવર્ણન
સરળ Syntaxવાંચવા અને લખવામાં સરળ
Interpretedcompilation step નથી
Object-OrientedOOP concepts સપોર્ટ કરે
Cross-Platformબહુવિધ OS પર ચાલે
વિશાળ Libraryવ્યાપક standard library
  • ઇન્ડેન્ટેશન: curly braces {} ને બદલે છે
  • સુસંગત: સામાન્ય રીતે પ્રતિ level 4 spaces
  • ફરજિયાત: કોડ માળખું બનાવે છે

મેમરી ટ્રીક: “Simple-Interpreted-Object-Cross-Large”

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

પાયથોન પ્રોગ્રામ લખો જે નીચેની વિગતોનો ઉપયોગ કરીને વિદ્યાર્થીના વર્ગ/ગ્રેડની ગણતરી કરતો પાયથોન પ્રોગ્રામ લખો.

જવાબ:

ગ્રેડિંગ ટેબલ:

ટકાવારીગ્રેડ
≥ 70ડિસ્ટિંક્શન
60-69ફર્સ્ટ ક્લાસ
50-59સેકન્ડ ક્લાસ
35-49પાસ ક્લાસ
< 35નિષ્ફળ

કોડ:

percentage = float(input("ટકાવારી દાખલ કરો: "))

if percentage >= 70:
    grade = "ડિસ્ટિંક્શન"
elif percentage >= 60:
    grade = "ફર્સ્ટ ક્લાસ"
elif percentage >= 50:
    grade = "સેકન્ડ ક્લાસ"
elif percentage >= 35:
    grade = "પાસ ક્લાસ"
else:
    grade = "નિષ્ફળ"

print(f"ગ્રેડ: {grade}")
  • બહુવિધ શરતો: Nested if-elif structure
  • ગ્રેડ નિર્ધારણ: ટકાવારી ranges આધારિત
  • Float ઇનપુટ: દશાંશ ટકાવારી handle કરે

મેમરી ટ્રીક: “Distinction-First-Second-Pass-Fail”

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

સિલેક્શન કંટ્રોલ સ્ટેટમેન્ટ શું છે? તેની યાદી બનાવો.

જવાબ:

સ્ટેટમેન્ટ પ્રકારહેતુ
ifએક શરત ચકાસણી
if-elseબે-માર્ગી branching
if-elif-elseબહુ-માર્ગી branching
nested ifશરતોની અંદર શરતો
  • Selection statements: શરતો આધારે program flow control કરે
  • Boolean evaluation: True/False logic વાપરે
  • Branching: execution ના જુદા રસ્તાઓ

મેમરી ટ્રીક: “If-IfElse-IfElif-Nested”

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

નેસ્ટેડ લૂપ ઉપર ટૂંક નોંધ લખો.

જવાબ:

લૂપ પ્રકારમાળખું
બાહ્ય લૂપiterations control કરે
આંતરિક લૂપદરેક બાહ્ય iteration માટે સંપૂર્ણ execute થાય
કુલ Iterationsબાહ્ય × આંતરિક
  • Nested માળખું: બીજા લૂપની અંદર લૂપ
  • સંપૂર્ણ execution: આંતરિક લૂપ પૂરું થાય પછી બાહ્ય આગળ વધે
  • Pattern creation: 2D structures માટે ઉપયોગી

કોડ ઉદાહરણ:

for i in range(3):
    for j in range(2):
        print(f"i={i}, j={j}")

મેમરી ટ્રીક: “Outer-Inner-Complete-Pattern”

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

યુઝર ડિફાઇન ફંક્શન લખો જે 1 થી 100 સુધીની બધી સંખ્યાઓ દર્શાવે, જે 4 થી વિભાજ્ય છે.

જવાબ:

કોડ:

def display_divisible_by_4():
    print("1 થી 100 સુધીની 4 થી વિભાજ્ય સંખ્યાઓ:")
    for num in range(1, 101):
        if num % 4 == 0:
            print(num, end=" ")
    print()

# ફંક્શન કૉલ
display_divisible_by_4()

Return સાથે વિકલ્પ:

def get_divisible_by_4():
    return [num for num in range(1, 101) if num % 4 == 0]

result = get_divisible_by_4()
print(result)
  • ફંક્શન વ્યાખ્યા: def keyword નો ઉપયોગ
  • Range ફંક્શન: 1 થી 100 iteration
  • Modulus ચકાસણી: num % 4 == 0 શરત
  • List comprehension: વૈકલ્પિક અભિગમ

મેમરી ટ્રીક: “Define-Range-Check-Display”

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

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

જવાબ:

સ્ટેટમેન્ટ પ્રકારહેતુ
for loopજાણીતી સંખ્યાના iterations
while loopશરત આધારિત repetition
nested loopલૂપની અંદર લૂપ
  • Repetition statements: કોડ બ્લોક્સ વારંવાર execute કરે
  • Iteration control: looping ની જુદી પદ્ધતિઓ
  • Loop variables: iteration progress track કરે

મેમરી ટ્રીક: “For-While-Nested”

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

break અને continue સ્ટેટમેન્ટ વચ્ચેનો તફાવત આપો.

જવાબ:

પાસુંbreakcontinue
હેતુલૂપ સંપૂર્ણ બહાર નીકળોવર્તમાન iteration છોડો
Executionલૂપમાંથી બહાર jump કરેઆગલા iteration પર jump કરે
ઉપયોગલૂપ જલ્દી સમાપ્ત કરોખાસ શરતો છોડો
અસરલૂપ સમાપ્ત થાયલૂપ ચાલુ રહે

કોડ ઉદાહરણ:

# break ઉદાહરણ
for i in range(5):
    if i == 3:
        break
    print(i)  # આઉટપુટ: 0, 1, 2

# continue ઉદાહરણ  
for i in range(5):
    if i == 2:
        continue
    print(i)  # આઉટપુટ: 0, 1, 3, 4

મેમરી ટ્રીક: “Break-Exit, Continue-Skip”

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

યુઝર ડિફાઇન ફંક્શન લખો જે 1 થી 100 સુધીની બધી બેકી સંખ્યાઓ દર્શાવે.

જવાબ:

કોડ:

def display_even_numbers():
    print("1 થી 100 સુધીની બેકી સંખ્યાઓ:")
    for num in range(2, 101, 2):
        print(num, end=" ")
    print()

# વૈકલ્પિક પદ્ધતિ
def display_even_alt():
    even_nums = []
    for num in range(1, 101):
        if num % 2 == 0:
            even_nums.append(num)
    print(even_nums)

# ફંક્શન કૉલ
display_even_numbers()
  • કાર્યક્ષમ range: બેકી સંખ્યાઓ માટે range(2, 101, 2)
  • Modulus પદ્ધતિ: % 2 == 0 સાથે વૈકલ્પિક ચકાસણી
  • ફંક્શન ડિઝાઇન: પુનઃઉપયોગી કોડ બ્લોક

મેમરી ટ્રીક: “Range-Step-Even-Display”

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

ફંક્શન વ્યાખ્યાયિત કરો. પાયથોનમાં ઉપલબ્ધ વિવિધ પ્રકારના ફંક્શનની યાદી આપો.

જવાબ:

ફંક્શન: ખાસ કાર્ય કરતો પુનઃઉપયોગી કોડ બ્લોક.

ફંક્શન પ્રકારવર્ણન
Built-inપૂર્વ-નિર્ધારિત ફંક્શન્સ (print, len)
User-definedપ્રોગ્રામર દ્વારા બનાવાયેલ
Lambdaઅનામ એક-લાઇન ફંક્શન્સ
Recursiveપોતાને call કરતા ફંક્શન્સ
  • કોડ પુનઃઉપયોગ: એકવાર લખો, ઘણીવાર વાપરો
  • મોડ્યુલારિટી: જટિલ સમસ્યાઓને નાના ભાગોમાં વહેંચવી
  • Parameters: ફંક્શન્સ માટે ઇનપુટ values

મેમરી ટ્રીક: “Built-User-Lambda-Recursive”

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

વેરિએબલના સ્કોપ ઉપર ટૂંક નોંધ લખો.

જવાબ:

સ્કોપ પ્રકારવર્ણનઉદાહરણ
Localફંક્શનની અંદર જફંક્શન variables
Globalસમગ્ર પ્રોગ્રામમાંModule-level variables
Built-inPython keywordsprint, len, type

કોડ ઉદાહરણ:

x = 10  # Global variable

def my_function():
    y = 20  # Local variable
    print(x)  # Global access
    print(y)  # Local access

my_function()
# print(y)  # Error: y accessible નથી
  • Variable accessibility: variables ક્યાં વાપરી શકાય
  • LEGB rule: Local, Enclosing, Global, Built-in

મેમરી ટ્રીક: “Local-Global-Builtin”

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

Python કોડ લખો જે ઉપભોક્તાને મુખ્ય સ્ટ્રિંગ અને સબસ્ટ્રિંગ માટે પૂછે છે અને મુખ્ય સ્ટ્રિંગમાં સબસ્ટ્રિંગની મેમ્બરશિપ તપાસે છે.

જવાબ:

કોડ:

def check_substring():
    main_string = input("મુખ્ય સ્ટ્રિંગ દાખલ કરો: ")
    substring = input("સબસ્ટ્રિંગ દાખલ કરો: ")
    
    if substring in main_string:
        print(f"'{substring}' મળ્યું '{main_string}' માં")
        print(f"સ્થિતિ: {main_string.find(substring)}")
    else:
        print(f"'{substring}' મળ્યું નથી '{main_string}' માં")

# વિસ્તૃત વર્ઝન case handling સાથે
def check_substring_enhanced():
    main_string = input("મુખ્ય સ્ટ્રિંગ દાખલ કરો: ")
    substring = input("સબસ્ટ્રિંગ દાખલ કરો: ")
    
    if substring.lower() in main_string.lower():
        print("સબસ્ટ્રિંગ મળ્યું (case-insensitive)")
    else:
        print("સબસ્ટ્રિંગ મળ્યું નથી")

check_substring()
  • યુઝર ઇન્ટરેક્શન: string collection માટે input()
  • Membership testing: ‘in’ operator નો ઉપયોગ
  • Case sensitivity: વૈકલ્પિક case handling

મેમરી ટ્રીક: “Input-Check-Report-Position”

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

લોકલ વેરિએબલ અને ગ્લોબલ વેરિએબલ શું છે?

જવાબ:

વેરિએબલ પ્રકારસ્કોપઆયુષ્યપ્રવેશ
Localફક્ત ફંક્શનમાંફંક્શન executionમર્યાદિત
Globalસમગ્ર પ્રોગ્રામપ્રોગ્રામ executionવ્યાપક

ઉદાહરણ:

global_var = 100  # Global

def function():
    local_var = 50  # Local
    print(global_var)  # ✓ સુલભ
    print(local_var)   # ✓ સુલભ

print(global_var)  # ✓ સુલભ
# print(local_var)  # ✗ Error
  • Local variables: ફંક્શન્સની અંદર બનાવાયેલ
  • Global variables: ફંક્શન્સની બહાર બનાવાયેલ

મેમરી ટ્રીક: “Local-Limited, Global-Everywhere”

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

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

જવાબ:

ફંક્શનહેતુઉદાહરણ
len()લંબાઈ આપેlen(“hello”) → 5
type()ડેટા ટાઇપ આપેtype(10) → <class ‘int’>
input()યુઝર ઇનપુટ લેname = input(“નામ: “)
print()આઉટપુટ દર્શાવેprint(“હેલો”)

વધારાના ઉદાહરણો:

# len() ફંક્શન
print(len([1, 2, 3, 4]))  # આઉટપુટ: 4

# type() ફંક્શન  
print(type(3.14))  # આઉટપુટ: <class 'float'>

# input() ફંક્શન
age = input("ઉંમર દાખલ કરો: ")

# print() ફંક્શન
print("તમારી ઉંમર છે:", age)

મેમરી ટ્રીક: “Length-Type-Input-Print”

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

Python કોડ લખો જે આપેલ સ્ટ્રિંગમાં સબસ્ટ્રિંગને શોધે છે.

જવાબ:

કોડ:

def locate_substring():
    main_string = input("મુખ્ય સ્ટ્રિંગ દાખલ કરો: ")
    substring = input("શોધવા માટે સબસ્ટ્રિંગ દાખલ કરો: ")
    
    # પદ્ધતિ 1: find() વાપરીને
    position = main_string.find(substring)
    if position != -1:
        print(f"index પર મળ્યું: {position}")
    else:
        print("સબસ્ટ્રિંગ મળ્યું નથી")
    
    # પદ્ધતિ 2: index() exception handling સાથે
    try:
        position = main_string.index(substring)
        print(f"index પર સ્થિત: {position}")
    except ValueError:
        print("સબસ્ટ્રિંગ મળ્યું નથી")
    
    # પદ્ધતિ 3: બધી occurrences શોધો
    positions = []
    start = 0
    while True:
        pos = main_string.find(substring, start)
        if pos == -1:
            break
        positions.append(pos)
        start = pos + 1
    
    if positions:
        print(f"બધી સ્થિતિઓ: {positions}")

locate_substring()
  • find() method: index આપે અથવા -1
  • index() method: index આપે અથવા exception raise કરે
  • બહુવિધ occurrences: બધી સ્થિતિઓ શોધવા માટે લૂપ

મેમરી ટ્રીક: “Find-Index-Exception-Multiple”

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

સ્ટ્રિંગ વ્યાખ્યાયિત કરો. વિવિધ સ્ટ્રિંગ ઓપરેશન્સની યાદી બનાવો.

જવાબ:

સ્ટ્રિંગ: quotes માં બંધ characters ની sequence.

ઓપરેશનમેથડઉદાહરણ
સંયોજન+“Hello” + “World”
પુનરાવર્તન*“Hi” * 3
સ્લાઇસિંગ[start:end]“Hello”[1:4]
લંબાઈlen()len(“Hello”)
કેસupper(), lower()“hello”.upper()
  • Immutable: સ્ટ્રિંગ બનાવ્યા પછી બદલી શકાતી નથી
  • Indexing: વ્યક્તિગત characters access કરવું
  • Methods: manipulation માટે built-in functions

મેમરી ટ્રીક: “Concat-Repeat-Slice-Length-Case”

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

આપણે કેવી રીતે ઓળખી શકીએ કે એલિમેન્ટ એ લિસ્ટનો સભ્ય છે કે નહીં? યોગ્ય ઉદાહરણ સાથે સમજાવો.

જવાબ:

પદ્ધતિઓપરેટરપરિણામ
inelement in listTrue/False
not inelement not in listTrue/False
count()list.count(element)occurrences ની સંખ્યા

ઉદાહરણ:

fruits = ["apple", "banana", "orange", "mango"]

# 'in' ઓપરેટર વાપરીને
if "apple" in fruits:
    print("Apple ઉપલબ્ધ છે")

# 'not in' ઓપરેટર વાપરીને  
if "grapes" not in fruits:
    print("Grapes ઉપલબ્ધ નથી")

# count() method વાપરીને
count = fruits.count("apple")
if count > 0:
    print(f"Apple {count} વખત મળ્યું")
  • Boolean પરિણામ: મળે તો True, નહીં તો False
  • Case sensitive: “Apple” ≠ “apple”
  • કાર્યક્ષમતા: ‘in’ ઓપરેટર સૌથી સામાન્ય

મેમરી ટ્રીક: “In-NotIn-Count for membership”

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

Python કોડ લખો જે આપેલ સ્ટ્રિંગના બીજા સબસ્ટ્રિંગ સાથે સબસ્ટ્રિંગને બદલે છે. આપેલ સ્ટ્રિંગ ‘Welcome to GTU’ તરીકે ધ્યાનમાં લો અને સબસ્ટ્રિંગ ‘GTU’ ને ‘Gujarat Technological University’ સાથે બદલો.

જવાબ:

કોડ:

def replace_substring():
    # આપેલ સ્ટ્રિંગ
    original = "Welcome to GTU"
    old_substring = "GTU"
    new_substring = "Gujarat Technological University"
    
    # પદ્ધતિ 1: replace() વાપરીને
    result1 = original.replace(old_substring, new_substring)
    print(f"મૂળ: {original}")
    print(f"બદલાયેલ: {result1}")
    
    # પદ્ધતિ 2: મેન્યુઅલ રિપ્લેસમેન્ટ
    if old_substring in original:
        index = original.find(old_substring)
        result2 = original[:index] + new_substring + original[index + len(old_substring):]
        print(f"મેન્યુઅલ પદ્ધતિ: {result2}")
    
    # પદ્ધતિ 3: બધી occurrences બદલો
    test_string = "GTU offers GTU degree from GTU"
    result3 = test_string.replace("GTU", "Gujarat Technological University")
    print(f"બહુવિધ બદલાવ: {result3}")

replace_substring()

આઉટપુટ:

મૂળ: Welcome to GTU
બદલાયેલ: Welcome to Gujarat Technological University
  • replace() method: built-in string function
  • Slicing method: મેન્યુઅલ string manipulation
  • બધી occurrences: દરેક instance બદલે છે

મેમરી ટ્રીક: “Find-Replace-Slice-All”

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

લિસ્ટ વ્યાખ્યાયિત કરો. વિવિધ લિસ્ટ ઓપરેશન્સની યાદી બનાવો.

જવાબ:

લિસ્ટ: ક્રમબદ્ધ items નો collection જે modify કરી શકાય છે.

ઓપરેશનમેથડઉદાહરણ
ઉમેરોappend(), insert()list.append(item)
દૂર કરોremove(), pop()list.remove(item)
પ્રવેશ[index]list[0]
સ્લાઇસ[start:end]list[1:3]
સોર્ટsort()list.sort()
  • Mutable: લિસ્ટ બનાવ્યા પછી બદલી શકાય છે
  • Indexed: સ્થિતિ દ્વારા elements access કરાય છે
  • Dynamic: કદ વધી અથવા ઘટી શકે છે

મેમરી ટ્રીક: “Add-Remove-Access-Slice-Sort”

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

સ્ટ્રિંગ સ્લાઇસિંગ ઉપર ટૂંક નોંધ લખો. યોગ્ય ઉદાહરણ સાથે સમજાવો.

જવાબ:

સ્ટ્રિંગ સ્લાઇસિંગ: [start🔚step] વાપરીને string ના ભાગો extract કરવું.

Syntaxવર્ણનઉદાહરણ
[start:]start થી અંત સુધી“Hello”[1:] → “ello”
[:end]શરૂઆત થી end સુધી“Hello”[:3] → “Hel”
[start:end]ખાસ રેન્જ“Hello”[1:4] → “ell”
[::-1]રિવર્સ સ્ટ્રિંગ“Hello”[::-1] → “olleH”

ઉદાહરણ:

text = "Python Programming"

print(text[0:6])    # "Python"
print(text[7:])     # "Programming"  
print(text[:6])     # "Python"
print(text[::2])    # "Pto rgamn"
print(text[::-1])   # "gnimmargorP nohtyP"
  • Negative indexing: છેલ્લા character માટે -1
  • Step parameter: increment control કરે છે

મેમરી ટ્રીક: “Start-End-Step for slicing”

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

Python કોડ લખો જે લિસ્ટમાં સ્પેસિફાઇડ એલિમેન્ટ કેટલી વખત દેખાય છે તેની ગણતરી કરે છે.

જવાબ:

કોડ:

def count_element_occurrences():
    # નમૂના લિસ્ટ બનાવો
    numbers = [1, 2, 3, 2, 4, 2, 5, 2, 6]
    element = int(input("ગણવા માટે એલિમેન્ટ દાખલ કરો: "))
    
    # પદ્ધતિ 1: count() method વાપરીને
    count1 = numbers.count(element)
    print(f"count() વાપરીને: {element}{count1} વખત દેખાય છે")
    
    # પદ્ધતિ 2: મેન્યુઅલ ગણતરી
    count2 = 0
    for num in numbers:
        if num == element:
            count2 += 1
    print(f"મેન્યુઅલ ગણતરી: {element}{count2} વખત દેખાય છે")
    
    # પદ્ધતિ 3: List comprehension
    count3 = len([x for x in numbers if x == element])
    print(f"List comprehension: {element}{count3} વખત દેખાય છે")
    
    # પદ્ધતિ 4: કોઈપણ પ્રકારની લિસ્ટ માટે
    mixed_list = [1, "hello", 3.14, "hello", True, "hello"]
    element_str = input("મિશ્ર લિસ્ટમાં શોધવા માટે એલિમેન્ટ દાખલ કરો: ")
    count4 = mixed_list.count(element_str)
    print(f"મિશ્ર લિસ્ટમાં: '{element_str}' એ {count4} વખત દેખાય છે")

count_element_occurrences()
  • count() method: built-in list function
  • મેન્યુઅલ iteration: ગણતરી માટે loops વાપરવું
  • List comprehension: ગણતરીની Pythonic રીત
  • Type flexibility: કોઈપણ ડેટા ટાઇપ સાથે કામ કરે

મેમરી ટ્રીક: “Count-Manual-Comprehension-Flexible”

સંબંધિત

ઓઓપીએસ અને પાયથોન પ્રોગ્રામિંગ (4351108) - શિયાળુ 2024 સોલ્યુશન
Study-Material Solutions Python Oops 4351108 2024 Winter Gujarati
Python Programming (4311601) - Winter 2023 Solution (Gujarati)
Study-Material Solutions Python 4311601 2023 Winter Gujarati
Fundamentals of Software Development (4331604) - Winter 2024 Solution (Gujarati)
Study-Material Solutions Software-Development 4331604 2024 Winter Gujarati
Mobile & Wireless Communication (4351104) - Winter 2024 Solution (Gujarati)
Study-Material Solutions Mobile-Communication 4351104 2024 Winter Gujarati
VLSI Technology (4353206) - Winter 2024 Solution (Gujarati)
18 મિનિટ
Study-Material Solutions Vlsi-Technology 4353206 2024 Winter Gujarati
Mobile Computing and Networks (4351602) - Winter 2024 Solution Gujarati
Study-Material Solutions Mobile-Computing 4351602 2024 Winter Gujarati