نمونه سوال آزمون کلاسی پایتون ۱ آموزشگاه هوش مصنوعی
۱- نمونه سوال پایتون ۱ پاییز ۱۴۰۴
آزمون پایتون — آموزشگاه هوش مصنوعی (تیروتیر)
بخش اول — سؤالات چندگزینهای با پاسخ و توضیح
- 1. کدام یک از موارد زیر عملگر صحیح جمع در پایتون است؟ (الف) + (ب) – (ج) * (د) /
پاسخ: (الف) +عملگر + برای جمع در پایتون بهکار میرود.
- 2. برای چاپ متنی در پایتون، از کدام دستور استفاده میکنیم؟ (الف) display (ب) print (ج) show (د) write
پاسخ: (ب) printبرای چاپ در کنسول از تابع print استفاده میشود.
- 3. متغیر در پایتون میتواند با یکی از این علامتها آغاز شود؟ (الف) $ (ب) @ (ج) # (د) _
پاسخ: (د) _متغیرها میتوانند با حروف یا زیرخط (_) شروع شوند؛ $,@,# مجاز نیستند.
- 4. کدام یک از موارد زیر یک نوع داده عددی در پایتون نیست؟ (الف) int (ب) float (ج) bool (د) string
پاسخ: (د) stringstring (رشته) نوع متنی است؛ int و float عددی و bool منطقیاند.
- 5. برای تعریف یک لیست در پایتون، از کدام علامتگذاری استفاده میکنیم؟ (الف) [] (ب) {} (ج) () (د) //
پاسخ: (الف) []لیستها با کروشههای مربعی تعریف میشوند.
- 6. برای دسترسی به عنصری از لیست در پایتون، از چه علامتی استفاده میکنیم؟ (الف) [] (ب) {} (ج) () (د) //
پاسخ: (الف) []برای ایندکسگذاری از براکت مربع استفاده میکنیم.
- 7. کدام یک از موارد زیر دستور شرط در پایتون است؟ (الف) if (ب) else (ج) elif (د) all of the above
پاسخ: (د) all of the aboveif, elif و else بخشهای ساختار شرطیاند (همه در ساختار شرط نقش دارند).
- 8. برای اجرای دستورات به صورت تکراری در پایتون، از کدام ساختار استفاده میکنیم؟ (الف) for (ب) while (ج) do-while (د) any of the above
پاسخ: (الف) و (ب) — for و while (پایتون do-while ندارد)در پایتون از for و while برای تکرار استفاده میشود.
- 9. کدام یک از موارد زیر کتابخانهای استاندارد در پایتون نیست؟ (الف) math (ب) random (ج) sys (د) mylib
پاسخ: (د) mylibmylib یک نام فرضی است؛ بقیه ماژولهای استاندارد هستند.
- 10. برای وارد کردن داده از کاربر در پایتون، از کدام دستور استفاده میکنیم؟ (الف) input (ب) get (ج) read (د) capture
پاسخ: (الف) inputتابع input برای دریافت ورودی متنی از کاربر است.
- 11. کدام یک از موارد زیر برای حذف یک عنصر از لیست در پایتون استفاده میشود؟ (الف) del (ب) remove (ج) pop (د) all of the above
پاسخ: (د) all of the aboveهر کدام رفتار متفاوتی دارند اما همه برای حذف استفاده میشوند.
- 12. برای الحاق یک عنصر به لیست در پایتون، از کدام روش استفاده میکنیم؟ (الف) append (ب) insert (ج) extend (د) all of the above
پاسخ: (د) all of the aboveappend، insert و extend هر کدام برای افزودن به لیست کاربرد دارند.
- 13. کدام یک از موارد زیر برای چک کردن نوع یک متغیر در پایتون استفاده میشود؟ (الف) type (ب) isinstance (ج) both (a) and (b) (د) none of the above
پاسخ: (ج) both (a) and (b)type و isinstance هر دو برای بررسی نوع بهکار میروند؛ isinstance معمولاً مناسبتر برای وراثت است.
- 14. برای تبدیل یک نوع داده به نوع دیگر در پایتون، از کدام عملگر استفاده میکنیم؟ (الف) cast (ب) convert (ج) change (د) all of the above
پاسخ: توضیح — در پایتون از توابع تبدیل مثل int(), float(), str() استفاده میشود؛ گزینههای ذکرشده عملگر زبان نیستند.مثال: int(“5”) => 5
- 15. کدام یک از موارد زیر برای تعریف یک تابع در پایتون استفاده میشود؟ (الف) def (ب) function (ج) procedure (د) routine
پاسخ: (الف) defبرای تعریف تابع در پایتون از def استفاده میکنیم.
- 16. برای فراخوانی یک تابع در پایتون، از چه علامتی استفاده میکنیم؟ (الف) () (ب) {} (ج) [] (د) //
پاسخ: (الف) ()برای اجرای تابع از پرانتز استفاده میشود.
- 17. آرگومان در تابع پایتون چیست؟ (الف) ورودی تابع (ب) خروجی تابع (ج) بدنه تابع (د) نام تابع
پاسخ: (الف) ورودی تابعآرگومان مقادیری هستند که به تابع داده میشوند.
- 18. کدام یک از موارد زیر برای بازگشت مقدار از یک تابع در پایتون استفاده میشود؟ (الف) return (ب) yield (ج) both (a) and (b) (د) none of the above
پاسخ: (ج) both (a) and (b)return مقدار را برمیگرداند؛ yield برای ساخت جنراتور استفاده میشود — هر دو خروجی تولید میکنند.
- 19. ماژول در پایتون چیست؟ (الف) فایلی حاوی کد پایتون (ب) کتابخانهای از توابع و متغیرها (ج) هر دو مورد (الف) و (ب) (د) هیچکدام
پاسخ: (ج) هر دوماژول میتواند یک فایل حاوی توابع و متغیرها باشد و نقش کتابخانه را ایفا کند.
- 20. برای وارد کردن ماژول در پایتون، از کدام دستور استفاده میکنیم؟ (الف) import (ب) include (ج) use (د) require
پاسخ: (الف) importimport برای وارد کردن ماژول استفاده میشود.
- 21. کلاس در برنامهنویسی شیءگرا به چه معناست؟ (الف) طرحی برای اشیاء (ب) نمونهای از یک شیء (ج) مجموعهای از اشیاء (د) هیچکدام
پاسخ: (الف) طرحی برای اشیاءکلاس blueprint یا قالب برای ساخت اشیاء است.
- 22. برای تعریف کلاس در پایتون، از کدام کلمه کلیدی استفاده میکنیم؟
پاسخ: class — مثال:
class MyClass: - 23. برای ایجاد یک شیء از یک کلاس در پایتون، از چه علامتی استفاده میکنیم؟ (الف) () (ب) {} (ج) [] (د) //
پاسخ: (الف) ()برای ساخت نمونه از کلاس از پرانتز استفاده میکنیم: obj = MyClass()
- 24. برای دسترسی به ویژگیهای یک شیء در پایتون، از چه علامتی استفاده میکنیم؟ (الف) . (نقطه) (ب) -> (فلش) (ج) / (اسلش) (د) هیچکدام
پاسخ: (الف) .نقطه برای دسترسی به ویژگیها و متدها استفاده میشود.
- 25. برای فراخوانی متد (تابع تعریف شده درون کلاس) روی یک شیء در پایتون، از چه علامتی استفاده میکنیم؟ (الف) . (نقطه) (ب) -> (فلش) (ج) / (اسلش) (د) هیچکدام
پاسخ: (الف) .مثال: obj.method()
- 26. برای ارثبری در پایتون، از کدام کلمه کلیدی استفاده میکنیم؟ (الف) inherit (ب) extends (ج) subclass (د) super
پاسخ: توضیح — خود پایتون از نگارش کلاس مانند
class Child(Parent):استفاده میکند؛ هیچیک از گزینههای دادهشده دقیقاً یک کلمهکلیدی پایتون برای ارثبری نیستند. (تابعsuper()برای دسترسی به والد بهکار میرود) - 27. کدام یک از موارد زیر برای مدیریت خطا در پایتون استفاده میشود؟ (الف) try-except (ب) if-else (ج) for-loop (د) all of the above
پاسخ: (الف) try-exceptبرای گرفتن و مدیریت استثناها از try/except استفاده میکنیم.
- 28. برای کامنت تک خطی در پایتون، از چه علامتی استفاده میکنیم؟ (الف) # (ب) // (ج) /* */ (د) none of the above
پاسخ: (الف) #
- 29. برای کامنت چند خطی در پایتون، از چه علامتهایی استفاده میکنیم؟ (الف) # (ب) // (ج) ”’ or “”” (د) none of the above
پاسخ: (ج) ”’ or “””برای رشتهٔ چندخطی که معمولاً بهعنوان کامنت چندخطی استفاده میشود، از سهتاییهای نقلقول استفاده میکنیم.
- 30. کدام یک از موارد زیر برای مرتبسازی لیستی از اعداد به صورت صعودی در پایتون استفاده میشود؟ (الف) sort() (ب) order() (ج) arrange() (د) none of the above
پاسخ: (الف) sort()متد list.sort() لیست را درجا مرتب میکند؛ همچنین sorted() تابع معادل است.
بخش دوم — کدها و برنامهها
برنامه 1 — صحبت صوتی انگلیسی، پرسش از کاربر، تابع، حلقهها، شرط، کلاس/شیء
# file: lesson_example_1.py
# Requires: pip install pyttsx3
import pyttsx3
import time
class SpeakerAsker:
def __init__(self):
self.engine = pyttsx3.init()
def speak(self, text):
self.engine.say(text)
self.engine.runAndWait()
def ask_and_return(self, prompt):
self.speak(prompt)
return input(prompt + "\n> ")
def main():
sa = SpeakerAsker()
sa.speak("Hello! This is a short English sentence spoken by the program.")
name = sa.ask_and_return("What is your name?")
def greet(n):
if n.strip() == "":
print("You didn't enter a name.")
else:
print(f"Hello, {n}! Nice to meet you.")
greet(name)
for i in range(3):
print(f"[for loop] Welcome message #{i+1}")
count = 3
while count > 0:
print(f"[while loop] Countdown: {count}")
time.sleep(0.5)
count -= 1
if len(name) > 5:
print("Your name is long.")
else:
print("Your name is short or medium.")
if __name__ == "__main__":
main()
برنامه 2 — پنجره با عنوان، متن و دکمه (tkinter)
# file: lesson_example_2_gui.py
import tkinter as tk
from tkinter import simpledialog, messagebox
class MyApp:
def __init__(self, root):
self.root = root
root.title("عنوان پنجره من")
root.geometry("350x200")
self.label = tk.Label(root, text="سلام! این یک متن نمونه است.")
self.label.pack(pady=10)
self.button = tk.Button(root, text="از من بپرس", command=self.ask_user)
self.button.pack(pady=10)
self.for_button = tk.Button(root, text="نمایش ۵ پیغام", command=self.show_five)
self.for_button.pack(pady=5)
def ask_user(self):
answer = simpledialog.askstring("پرسش", "لطفاً یک عدد بین 1 و 10 وارد کنید:")
if answer is None:
return
try:
v = int(answer)
if 1 <= v <= 10:
messagebox.showinfo("خوب", f"شما عدد {v} را وارد کردید.")
else:
messagebox.showwarning("خطر", "عدد باید بین 1 و 10 باشد.")
except ValueError:
messagebox.showerror("خطا", "مقدار وارد شده عدد نیست.")
def show_five(self):
msgs = []
for i in range(1, 6):
msgs.append(f"پیغام شماره {i}")
messagebox.showinfo("پیغامها", "\n".join(msgs))
if __name__ == "__main__":
root = tk.Tk()
app = MyApp(root)
root.mainloop()
برنامه 3 — تعامل با فایلها (ذخیره و خواندن)
# file: lesson_example_3_file_io.py
def save_and_show():
text = input("متنی را وارد کنید تا در فایل ذخیره شود:\n> ")
filename = "user_text.txt"
with open(filename, "w", encoding="utf-8") as f:
f.write(text)
print(f"متن در فایل '{filename}' ذخیره شد.\n---- محتوای فایل ----")
with open(filename, "r", encoding="utf-8") as f:
content = f.read()
print(content)
if __name__ == "__main__":
save_and_show()
برنامه 4 — بازی حدس عدد (1 تا 50)
# file: lesson_example_4_guess_number.py
import random
def guess_game():
target = random.randint(1, 50)
print("حدس بزن عدد بین 1 تا 50 است.")
attempts = 0
while True:
attempts += 1
try:
guess = int(input("حدس شما: "))
except ValueError:
print("لطفاً یک عدد وارد کنید.")
continue
if guess < target:
print("خیلی کوچک است. دوباره تلاش کن.")
elif guess > target:
print("خیلی بزرگ است. دوباره تلاش کن.")
else:
print(f"آفرین! درست حدس زدی. تعداد تلاشها: {attempts}")
break
if __name__ == "__main__":
guess_game()
برنامه 5 — رسم مربع با لاکپشت (turtle)
# file: lesson_example_5_turtle_square.py
import turtle
def draw_square(side_length=100):
t = turtle.Turtle()
t.speed(3)
for _ in range(4):
t.forward(side_length)
t.right(90)
turtle.done()
if __name__ == "__main__":
draw_square(150)
برنامه 6 — نسخهٔ اصلاحشده کد خطاها (با توضیحات)
# file: lesson_example_6_fix_errors.py
x = 10
print(x)
y = str(5) + " سلام"
print(y)
def ali():
return "ali_called"
z = ali()
print(z)
def my_function():
a = 3
if a < 5:
print("درست")
else:
print("غلط")
my_function()
name = 'John Doe'
print(f"hi {name}")
import pandas as pd # pip install pandas
age = input("سن خود را وارد کنید: ")
try:
age_num = int(age)
print(age_num + 5)
except ValueError:
print("سن وارد شده عدد نیست.")
den = 0
if den == 0:
print("نمیتوان تقسیم بر صفر انجام داد.")
else:
number = 1 / den
print(number)
my_list = [1, 2, 3, "چهار"]
print(my_list)
my_dict = {"a": 1, "b": 2}
print(my_dict.get("c", "کلید موجود نیست"))
وب تعاملی: نسخهٔ نهایی — پروژههای پایتون
هر بخش یک «صورت سوال» (تمرین) دارد و کدها در پنل کد چپچین نشان داده شدهاند. برخی تمرینها در مرورگر قابل اجرا هستند.
برای بهترین تجربه از مرورگر کروم یا فایرفاکس استفاده کنید
۱ — پخش صوت (Text-to-Speech)
صورت سوال:
- یک جملهٔ انگلیسی از کاربر دریافت کن.
- با استفاده از مرورگر آن جمله را بهصورت صوتی پخش کن.
- کد پایتون و توضیح آن را نمایش بده (چپچین).
این بخش از Web Speech API در مرورگر استفاده میکند — نیاز به اینترنت ندارد.
نمونهٔ کد (پایتون — نمایش فقط)
from gtts import gTTS
import os
text = "Hello, welcome to Python class!"
tts = gTTS(text=text, lang='en')
tts.save("voice.mp3")
os.system("voice.mp3")
کد اجراشونده (مرورگر — جاوااسکریپت)
// uses Web Speech API
const utter = new SpeechSynthesisUtterance('Hello');
utter.lang = 'en-US';
speechSynthesis.speak(utter);
وضعیت: آماده
۲ — ایجاد پنجره گرافیکی (شبیهسازی tkinter)
صورت سوال:
- یک عنوان و متن دلخواه از کاربر بگیر.
- یک پنجرهٔ سادهٔ گرافیکی نمایش بده (درون صفحه).
- نسخهٔ تابعی، تکراری (for/while) و OOP آن را نشان بده.
پنجرهٔ شبیهسازی شده درون صفحه باز میشود.
نمونهٔ کد (پایتون — نمایش)
import tkinter as tk
root = tk.Tk()
root.title("My Window")
label = tk.Label(root, text="Hello!")
label.pack()
root.mainloop()
۳ — تعامل با فایلها (.txt)
صورت سوال:
- متنی از کاربر بگیر و آن را در یک فایل متنی ذخیره کن.
- فایل را باز کرده و محتوای آن را در کنسول (پنل خروجی) نشان بده.
- کد پایتون آن را نمایش بده و یک دکمه برای دانلود فایل بساز.
فایل بهصورت محلی در مرورگر ساخته و قابل دانلود میشود.
نمونهٔ کد (پایتون — نمایش)
text = input("Enter some text: ")
with open("data.txt", "w") as f:
f.write(text)
with open("data.txt", "r") as f:
print(f.read())
خروجی فایل اینجا نمایش داده میشود
۴ — بازی حدس عدد (۱ تا ۵۰)
صورت سوال:
- برنامهای بنویس که یک عدد تصادفی بین 1 تا 50 انتخاب کند.
- کاربر تا پیدا کردن عدد صحیح حدس میزند و راهنمایی (بیشتر/کمتر) میگیرد.
- نسخهٔ تابعی و OOP را نیز توضیح بده.
بازی آماده — روی "شروع بازی جدید" کلیک کنید
نمونهٔ کد (پایتون — نمایش)
import random
number = random.randint(1, 50)
while True:
guess = int(input("Guess the number (1-50): "))
if guess < number:
print("Higher!")
elif guess > number:
print("Lower!")
else:
print("Correct!")
break
۵ — رسم مربع (لاکپشت -> بوم HTML)
صورت سوال:
- یک مربع با طول ضلع مشخص توسط کاربر رسم کن.
- کد پایتون لاکپشت (turtle) را نشان بده و معادل آن با Canvas بنویس.
بوم (Canvas) زیر مربع را نشان میدهد.
نمونهٔ کد (پایتون — نمایش)
import turtle
t = turtle.Turtle()
for _ in range(4):
t.forward(100)
t.right(90)
turtle.done()
