ответвлено от main/python-labs
TEMA1 report v2.1
Изменил нумерацию, убрал полужирный шрифт и исправил описание пункта 12.
Этот коммит содержится в:
238
TEMA1/report1.md
238
TEMA1/report1.md
@@ -1,30 +1,30 @@
|
|||||||
# Отчёт по теме 1. Знакомство с интерпретатором и интерактивной оболочкой IDLE
|
# Отчёт по теме 1. Знакомство с интерпретатором и интерактивной оболочкой IDLE
|
||||||
Таболин Иван Андреевич А-01-23
|
Таболин Иван Андреевич А-01-23
|
||||||
#1. Создал свою папку на диске, а в ней создал папки TEMAn
|
# 1. Создал свою папку на диске, а в ней создал папки TEMAn
|
||||||
#2. Запустил на выполнение программу-интерпретатор, выбрав ее ярлык «Python 3.13».
|
# 2. Запустил на выполнение программу-интерпретатор, выбрав ее ярлык «Python 3.13».
|
||||||
#3. 3.Изучил содержание открывающегося диалогового окна интерпретатора. Вывел "hello".
|
# 3. Изучил содержание открывающегося диалогового окна интерпретатора. Вывел "hello".
|
||||||
```py
|
```py
|
||||||
>>> print('Hello')
|
>>> print('Hello')
|
||||||
Hello
|
Hello
|
||||||
```
|
```
|
||||||
#4. Запросил от пользователя имя и ввёл с клавиатуры.
|
# 4. Запросил от пользователя имя и ввёл с клавиатуры.
|
||||||
```py
|
```py
|
||||||
>>> h=input('Your name=')
|
>>> h=input('Your name=')
|
||||||
Your name=Ivan
|
Your name=Ivan
|
||||||
```
|
```
|
||||||
#5. Завершил работу интерпретатора.
|
# 5. Завершил работу интерпретатора.
|
||||||
```py
|
```py
|
||||||
>>> exit()
|
>>> exit()
|
||||||
```
|
```
|
||||||
#6. Запустил интерактивную графическую оболочку IDLE среды Python.
|
# 6. Запустил интерактивную графическую оболочку IDLE среды Python.
|
||||||
#7. Изучил устройство главного командного окна среды.
|
# 7. Изучил устройство главного командного окна среды.
|
||||||
#8. Настроил рабочий каталог среды
|
# 8. Настроил рабочий каталог среды
|
||||||
```py
|
```py
|
||||||
import os
|
import os
|
||||||
os.chdir('C:\MPEI\POAS\Tabolin\Tema1\python-labs\TEMA1')
|
os.chdir('C:\MPEI\POAS\Tabolin\Tema1\python-labs\TEMA1')
|
||||||
```
|
```
|
||||||
#9. Изучил предложения главного меню и настроил интерфейс оболочки IDLE.
|
# 9. Изучил предложения главного меню и настроил интерфейс оболочки IDLE.
|
||||||
#10. Создал файл программы и сохранил под именем Pr0.py.
|
# 10. Создал файл программы и сохранил под именем Pr0.py.
|
||||||
```py
|
```py
|
||||||
--------Pr0.py--------
|
--------Pr0.py--------
|
||||||
Программа по Теме 1 Таболин Иван Андреевич
|
Программа по Теме 1 Таболин Иван Андреевич
|
||||||
@@ -40,14 +40,14 @@ import Pr0
|
|||||||
Hello
|
Hello
|
||||||
Your name=Ivan
|
Your name=Ivan
|
||||||
```
|
```
|
||||||
#11. Запустил на выполнение Prb1.py
|
# 11. Запустил на выполнение Prb1.py
|
||||||
```py
|
```py
|
||||||
import prb1
|
import prb1
|
||||||
Как Вас зовут? Ivan
|
Как Вас зовут? Ivan
|
||||||
Привет, Ivan
|
Привет, Ivan
|
||||||
```
|
```
|
||||||
#12.
|
# 12.
|
||||||
Содержание файла Pr0.cpython-34.pyc:
|
Содержание файла Pr0.cpython-313.pyc:
|
||||||
```py
|
```py
|
||||||
у
|
у
|
||||||
|
|
||||||
@@ -55,9 +55,9 @@ import prb1
|
|||||||
Your name=й NzC:\MPEI\POAS\Tabolin\Tema1\)ЪprintЪinputЪhЪosЪchdir© у Ъ!C:\MPEI\POAS\Tabolin\Tema1\Pr0.pyЪ<module>r s& рб Ђg„Щ€УЂЫ Ш ‡‚Р +Х ,r
|
Your name=й NzC:\MPEI\POAS\Tabolin\Tema1\)ЪprintЪinputЪhЪosЪchdir© у Ъ!C:\MPEI\POAS\Tabolin\Tema1\Pr0.pyЪ<module>r s& рб Ђg„Щ€УЂЫ Ш ‡‚Р +Х ,r
|
||||||
|
|
||||||
```
|
```
|
||||||
В папке __pycache__ содержится скомпилированный двоичный код, который нужен для оптимизации
|
В папке `__pycache__` содержится скомпилированный двоичный код, который нужен для повторных запусков.
|
||||||
#13. Создал файл протокола темы.
|
# 13. Создал файл протокола темы.
|
||||||
#14. Изучил раздел "Help"
|
# 14. Изучил раздел "Help"
|
||||||
```py
|
```py
|
||||||
help(print)
|
help(print)
|
||||||
Help on built-in function print in module builtins:
|
Help on built-in function print in module builtins:
|
||||||
@@ -101,7 +101,7 @@ input(prompt='', /)
|
|||||||
|
|
||||||
(None, None)
|
(None, None)
|
||||||
```
|
```
|
||||||
#15.
|
# 15.
|
||||||
Открыл файл prb1.py в текстовом редакторе среды.
|
Открыл файл prb1.py в текстовом редакторе среды.
|
||||||
С помощью предложения "Window" переключался между окнами.
|
С помощью предложения "Window" переключался между окнами.
|
||||||
Запустил программу prb1.py на выполнение с помощью предложения "Run".
|
Запустил программу prb1.py на выполнение с помощью предложения "Run".
|
||||||
@@ -116,207 +116,3 @@ input(prompt='', /)
|
|||||||
```py
|
```py
|
||||||
import tdemo_chaos
|
import tdemo_chaos
|
||||||
```
|
```
|
||||||
tdemo_chaos.py
|
|
||||||
```py
|
|
||||||
# File: tdemo_chaos.py
|
|
||||||
# Author: Gregor Lingl
|
|
||||||
# Date: 2009-06-24
|
|
||||||
|
|
||||||
# A demonstration of chaos
|
|
||||||
|
|
||||||
from turtle import *
|
|
||||||
|
|
||||||
N = 80
|
|
||||||
|
|
||||||
def f(x):
|
|
||||||
return 3.9*x*(1-x)
|
|
||||||
|
|
||||||
def g(x):
|
|
||||||
return 3.9*(x-x**2)
|
|
||||||
|
|
||||||
def h(x):
|
|
||||||
return 3.9*x-3.9*x*x
|
|
||||||
|
|
||||||
def jumpto(x, y):
|
|
||||||
penup(); goto(x,y)
|
|
||||||
|
|
||||||
def line(x1, y1, x2, y2):
|
|
||||||
jumpto(x1, y1)
|
|
||||||
pendown()
|
|
||||||
goto(x2, y2)
|
|
||||||
|
|
||||||
def coosys():
|
|
||||||
line(-1, 0, N+1, 0)
|
|
||||||
line(0, -0.1, 0, 1.1)
|
|
||||||
|
|
||||||
def plot(fun, start, color):
|
|
||||||
pencolor(color)
|
|
||||||
x = start
|
|
||||||
jumpto(0, x)
|
|
||||||
pendown()
|
|
||||||
dot(5)
|
|
||||||
for i in range(N):
|
|
||||||
x=fun(x)
|
|
||||||
goto(i+1,x)
|
|
||||||
dot(5)
|
|
||||||
|
|
||||||
def main():
|
|
||||||
reset()
|
|
||||||
setworldcoordinates(-1.0,-0.1, N+1, 1.1)
|
|
||||||
speed(0)
|
|
||||||
hideturtle()
|
|
||||||
coosys()
|
|
||||||
plot(f, 0.35, "blue")
|
|
||||||
plot(g, 0.35, "green")
|
|
||||||
plot(h, 0.35, "red")
|
|
||||||
# Now zoom in:
|
|
||||||
for s in range(100):
|
|
||||||
setworldcoordinates(0.5*s,-0.1, N+1, 1.1)
|
|
||||||
return "Done!"
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
mainloop()
|
|
||||||
```
|
|
||||||
с помощью предложения "Help" открыл графическую демонстрацию "Turtle demo", а затем в появившемся окне открыл "Часы" и запустил программу "Start".
|
|
||||||
Программа clock
|
|
||||||
```py
|
|
||||||
#!/usr/bin/env python3
|
|
||||||
""" turtle-example-suite:
|
|
||||||
|
|
||||||
turtledemo/clock.py
|
|
||||||
|
|
||||||
Enhanced clock-program, showing date
|
|
||||||
and time
|
|
||||||
------------------------------------
|
|
||||||
Press STOP to exit the program!
|
|
||||||
------------------------------------
|
|
||||||
"""
|
|
||||||
from turtle import *
|
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
dtfont = "TkFixedFont", 14, "bold"
|
|
||||||
current_day = None
|
|
||||||
|
|
||||||
def jump(distanz, winkel=0):
|
|
||||||
penup()
|
|
||||||
right(winkel)
|
|
||||||
forward(distanz)
|
|
||||||
left(winkel)
|
|
||||||
pendown()
|
|
||||||
|
|
||||||
def hand(laenge, spitze):
|
|
||||||
fd(laenge*1.15)
|
|
||||||
rt(90)
|
|
||||||
fd(spitze/2.0)
|
|
||||||
lt(120)
|
|
||||||
fd(spitze)
|
|
||||||
lt(120)
|
|
||||||
fd(spitze)
|
|
||||||
lt(120)
|
|
||||||
fd(spitze/2.0)
|
|
||||||
|
|
||||||
def make_hand_shape(name, laenge, spitze):
|
|
||||||
reset()
|
|
||||||
jump(-laenge*0.15)
|
|
||||||
begin_poly()
|
|
||||||
hand(laenge, spitze)
|
|
||||||
end_poly()
|
|
||||||
hand_form = get_poly()
|
|
||||||
register_shape(name, hand_form)
|
|
||||||
|
|
||||||
def clockface(radius):
|
|
||||||
reset()
|
|
||||||
pensize(7)
|
|
||||||
for i in range(60):
|
|
||||||
jump(radius)
|
|
||||||
if i % 5 == 0:
|
|
||||||
fd(25)
|
|
||||||
jump(-radius-25)
|
|
||||||
else:
|
|
||||||
dot(3)
|
|
||||||
jump(-radius)
|
|
||||||
rt(6)
|
|
||||||
|
|
||||||
def display_date_time():
|
|
||||||
global current_day
|
|
||||||
writer.clear()
|
|
||||||
now = datetime.now()
|
|
||||||
current_day = now.day
|
|
||||||
writer.home()
|
|
||||||
writer.forward(distance=65)
|
|
||||||
writer.write(wochentag(now), align="center", font=dtfont)
|
|
||||||
writer.back(distance=150)
|
|
||||||
writer.write(datum(now), align="center", font=dtfont)
|
|
||||||
writer.forward(distance=85)
|
|
||||||
|
|
||||||
def setup():
|
|
||||||
global second_hand, minute_hand, hour_hand, writer
|
|
||||||
mode("logo")
|
|
||||||
make_hand_shape("second_hand", 125, 25)
|
|
||||||
make_hand_shape("minute_hand", 115, 25)
|
|
||||||
make_hand_shape("hour_hand", 90, 25)
|
|
||||||
clockface(160)
|
|
||||||
second_hand = Turtle()
|
|
||||||
second_hand.shape("second_hand")
|
|
||||||
second_hand.color("gray20", "gray80")
|
|
||||||
minute_hand = Turtle()
|
|
||||||
minute_hand.shape("minute_hand")
|
|
||||||
minute_hand.color("blue1", "red1")
|
|
||||||
hour_hand = Turtle()
|
|
||||||
hour_hand.shape("hour_hand")
|
|
||||||
hour_hand.color("blue3", "red3")
|
|
||||||
for hand in second_hand, minute_hand, hour_hand:
|
|
||||||
hand.resizemode("user")
|
|
||||||
hand.shapesize(1, 1, 3)
|
|
||||||
hand.speed(0)
|
|
||||||
ht()
|
|
||||||
writer = Turtle()
|
|
||||||
writer.ht()
|
|
||||||
writer.pu()
|
|
||||||
writer.bk(85)
|
|
||||||
display_date_time()
|
|
||||||
|
|
||||||
def wochentag(t):
|
|
||||||
wochentag = ["Monday", "Tuesday", "Wednesday",
|
|
||||||
"Thursday", "Friday", "Saturday", "Sunday"]
|
|
||||||
return wochentag[t.weekday()]
|
|
||||||
|
|
||||||
def datum(z):
|
|
||||||
monat = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "June",
|
|
||||||
"July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."]
|
|
||||||
j = z.year
|
|
||||||
m = monat[z.month - 1]
|
|
||||||
t = z.day
|
|
||||||
return "%s %d %d" % (m, t, j)
|
|
||||||
|
|
||||||
def tick():
|
|
||||||
t = datetime.today()
|
|
||||||
sekunde = t.second + t.microsecond*0.000001
|
|
||||||
minute = t.minute + sekunde/60.0
|
|
||||||
stunde = t.hour + minute/60.0
|
|
||||||
try:
|
|
||||||
tracer(False) # Terminator can occur here
|
|
||||||
second_hand.setheading(6*sekunde) # or here
|
|
||||||
minute_hand.setheading(6*minute)
|
|
||||||
hour_hand.setheading(30*stunde)
|
|
||||||
if t.day != current_day:
|
|
||||||
display_date_time()
|
|
||||||
tracer(True)
|
|
||||||
ontimer(tick, 100)
|
|
||||||
except Terminator:
|
|
||||||
pass # turtledemo user pressed STOP
|
|
||||||
|
|
||||||
def main():
|
|
||||||
tracer(False)
|
|
||||||
setup()
|
|
||||||
tracer(True)
|
|
||||||
tick()
|
|
||||||
return "EVENTLOOP"
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
mode("logo")
|
|
||||||
msg = main()
|
|
||||||
print(msg)
|
|
||||||
mainloop()
|
|
||||||
```
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user