جلسه چهارم
استفاده از دستور for
>>> for x in range(9): ... print x, ... 0 1 2 3 4 5 6 7 8 >>> for c in azin: ... print c ... Traceback (most recent call last): File "دستور range", line 1, in NameError: name 'azin' is not defined >>> for c in "azin": ... print c ... a z i n
در
مثالی که بررسی کردیم، از دستور range در حلقه ی for استفاده کردیم. دستور
range را به شکل مستقل از حلقه ی for هم میتوان استفاده کرد:
>>> range(5) [0, 1, 2, 3, 4] >>> range(0,9) [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> range(0,9,3) [0, 3, 6]
مشاهده
میشود که دستور range در واقع لیستی از اعداد را تولید میکند، و دستور for
روی اعداد این لیست کار میکند. این لیستها مختص دستور range نیستند و
میتوان آنها را به صورت مستقل هم تعریف کرد.
لیست در پایتون
لیستها را مثل همه متغیرهای دیگر میتوان استفاده کرد:
درباره لیستها بیشتر بدانید: راهنمای رسمی پایتون، شیرجه به پایتون
**********************************
مسایل طرح شده در کلاس
برای اینکه درس را متوجه بشوید کاملا لازم است که این مثالها را اولا سعی کنید خودتان حل کنید و ثانیا راه حلها را با دقت بررسی کنید.
یافتن مجموع اعداد یک لیست
کشیدن یک شبکه ی 8*8
کشیدن یک صفحه شطرنج
سعی کنید برای این سوال کوتاهترین راه حل ممکن را نوشته و بفرستید، کوتاهترین راه حلی که تابحال فرستاده شده:
لیست در پایتون
>>> for x in ["egg", "apple", "orange"]: ... print x, ... egg apple orange
لیستها را مثل همه متغیرهای دیگر میتوان استفاده کرد:
>>> a = ["egg", "apple", "orange"] >>> for x in a: ... print x, ... egg apple orange >>> a[1] 'apple' >>> a[0] 'egg' >>> a[-1] 'orange' >>> a.append(34) >>> a ['egg', 'apple', 'orange', 34]
**********************************
مسایل طرح شده در کلاس
برای اینکه درس را متوجه بشوید کاملا لازم است که این مثالها را اولا سعی کنید خودتان حل کنید و ثانیا راه حلها را با دقت بررسی کنید.
یافتن مجموع اعداد یک لیست
>>> a = [1, 3, 5, 6] >>> sum = 0 >>> for x in a: ... sum = sum + x ... >>> print sum 15
کشیدن یک شبکه ی 8*8
from turtle import *
for x in range(-32, 33, 8):
penup()
goto(-32, x)
pendown()
goto(32,x)
penup()
goto(x,-32)
pendown()
goto(x,32)
محمد حسین:
from turtle import *
for x in range(20,161,20):
fd(x)
rt(90)
fd(x)
rt(90)
fd(x)
rt(90)
fd(x)
rt(90)
pu()
goto(160,-160)
rt(180)
pendown()
for x in range(20,141,20):
fd(x)
rt(90)
fd(x)
rt(90)
fd(x)
rt(90)
fd(x)
rt(90)
کشیدن یک صفحه شطرنج
سعی کنید برای این سوال کوتاهترین راه حل ممکن را نوشته و بفرستید، کوتاهترین راه حلی که تابحال فرستاده شده:
from turtle import * c=["yellow","","black"] a=1 speed(500) for y in range (0,141,20): a=a*-1 for x in range (0,141,20): pu() goto(x,y) pd() a=a*-1 fillcolor(c[a+1]) begin_fill() seth(0) fd(20) left(90) fd(20) left(90) fd(20) end_fill() pu() goto(0,0) pd() seth(0) for i in range(4): fd(160) left(90) pu()
goto(140,-50)
write("by Hirbod")
برنامه نوشته شده توسط نگین:from turtle import *
goto (0,0)
goto (80,0)
goto (80,80)
goto (0,80)
goto (0,0)
x=y=-20
for a in range (4):
x=x+20
y=-20
for b in range (4):
y=y+20
pu ()
goto (x,y)
begin_fill ()
goto (x+10,y)
goto (x+10,y+20)
goto (x+20, y+20)
goto (x+20,y+10)
goto (x,y+10)
end_fill ()
میلاد:
from turtle import *
s=Shape("compound")
c="black"
s.addcomponent(((0,0),(0,160),(40,160),(40,0)),"",c)
for y in range(0,141,40):
s.addcomponent(((0,y+20),(0,y),(20,y),(20,y+40),(40,y+40),(40,y+20)),c,c)
register_shape("p", s)
shape("p")
stamp()
sety(-40)
stamp()
sety(-80)
stamp()
sety(-120)
برچسبها: lessons
