10 Project 1: Erste Schritte in Python
10 Project 1: Erste Schritte in Python
Animation
In den Projekten werden sie nicht nur statische Objekte, sondern auch physikalische
Prozesse darstellen, die eine Zeitkomponente haben. Wir brauchen also eine
Animation. Einer der groten Vorteile von VPython ist, dass das Erstellen von
Animationen so einfach ist.
Aufgabe: Erstellen Sie eine kleine Box nahe x = 5
und bezeichnen sie diese
als movingBox. Dann f¨ugen Sie den folgenden Code ein und beobachten Sie, was
passiert:
# Bewegen einer Box in einer geraden Linie
while movingBox.pos.x <5:
rate(50)
movingBox.pos.x += 0.05
Stellen sie sicher, dass Sie die letzten beiden Zeilen einr¨ucken.
Wenn der Code funktioniert, sollte die Box sich durch das Fenster bewegen und
bei x = 5 stoppen. Der Code, der das erreicht, ist eine Schleife (sog. loop), welche
im Allgemeinen einen Codeblock meint, den der Computer wiederholt ausf¨uhrt.
Einige Sprachen nutzen geschweifte Klammern, um zu kennzeichnen, welche Zeilen
des Codes Teil der Schleife sind, aber in Python wird dies angedeutet durch eine
Einr¨uckung. Diese bestimmte Art der Schleife hier beginnt mit dem Wort while
gefolgt von der Bedingung, die wahr sein muss so lange wie die Schleife andauert,
gefolgt von einem Doppelpunkt. Diese Bedingung kann jegliche Vergleichsoperatoren
beinhalten <, >, <=, >=, == ( und != , genauso wie die Boole’schen Operatoren
and, or, und not.
Die beiden einger¨uckten Zeilen selbst erfordern auch eine Erl¨auterung. Die
Erste (rate(50)) sagt dem Computer wie schnell er versuchen soll die Schleife
auszuf¨uhren – in diesem Fall 50 Mal pro Sekunde. Die n¨achste Zeile enth¨alt den
Operator +=, welcher dem Computer sagt, dass er die Zahl rechts zu der Variablen
links addieren soll. Der Befehl x += 42 ist komplett ¨aquivalent zu x = x + 42.
(Gleicherma?en k¨onnen die Operationen -=, *=, und /= benutzen werden.)
Aufgabe: Andern Sie den Parameter ¨ 50 in der Funktion rate zu einer anderen
Zahl und stellen Sie sicher, dass das den erwarteten E?ekt hat.
Aufgabe: F¨ugen Sie eine oder zwei Zeilen zu ihrem Code hinzu, welcher die Bewegung
der Box entlang einer Diagonalen bewirkt, anstatt direkt von links nach
rechts zu wandern. Stellen sie sicher, dass sich die Box nicht zu weit in eine andere
Richtung bewegt bevor die Bewegung stoppt.
Aufgabe: F¨ugen Sie einen Code zu ihrem Programm hinzu, um eine kleine Kugel zu
erzeugen, und dann bewegen sie diese Kugel mit einer gleichm¨a?igen Geschwindigkeit
einmal im Kreis in der xy-Ebene mit dem Ursprung als Zentrum der Drehbewegung.
Project 1: Erste Schritte in Python 11
代做statische Objekt作业、代写Python实验作业、代做Python编程语言作业
Nutzen sie eine Variable mit dem Namen theta f¨ur die Winkel um den Kreis herum
und setzen sie diese Variable zu Null, bevor ihre While-Schleife beginnt. Nutzen
Sie ebenfalls eine Variable mit dem Namen r f¨ur den Kreisradius sowie x und y
f¨ur seine kartesischen Koordinaten. Um x und y zu berechnen, k¨onnen Sie die
trigonometrischen Funktionen cos und sin benutzen, z.B. x = r * cos(theta).
Passen sie auf, denn die trigonometrischen Funktionen gehen davon aus, dass die
Werte, die Sie hier ¨ubergeben in der Einheit Radiant angegeben wird. Behalten
Sie das im Hinterkopf, wenn Sie entscheiden, um wieviel sich Theta ¨andern muss,
w¨ahrend jeder Schleifeniteration und f¨ur die Bedingung, die sie in dem while Befehl
benutzen. F¨ur die eigentliche Bewegung der Kugel in dem Grafikfenster, nutzen sie
einen Befehl in der Form movingSphere.pos = vector(x, y, 0).
Aufgabe: Schauen Sie in der Vpython Dokumentation nach, wie man eine Spur
an ein Objekt anh¨angt (“”attach a trail“”), wenn es sich bewegt. (Benutzen
Sie den einfacheren Parameter make_trail und nicht die kompliziertere Funktion
attach_trail .) H¨angen Sie eine Spure mit Punkten an ihre sich bewegende Kugel,
benutzen Sie das Attribut interval, um die Punkte etwas weiter auseinander zu
bringen als voreingestellt.
Aufgabe: : Erinnern Sie sich an die Funktion print? F¨ugen Sie einen entsprechenden
Code ein, um eine passende Nachricht auszugeben, wenn jede ihrer Animationsschleifen
(eine f¨ur die Box, eine f¨ur die Kugel) beendet ist.
12 Project 1: Erste Schritte in Python
Graphen
In der Wissenschaft wollen wir oft ein Ph¨anom nicht im physikalischen Raum visualisieren,
sondern in einer “Raum-Zeit” Dimension, wie Geschwindigkeit usw..
W¨ahrend wir theoretisch ein 3D VPython canvas nutzen k¨onnten, um solch einen
abstrakten Graphen zu erstellen, bietet VPython auch ein Objekt graph, der in der
Regel besser geeignet ist, an.
Als ein Beispiel wollen wir die x und y Position einer sich bewegenden Kugel
als eine Funktion der Zeit in einem Graph darstellen. Es folgt der Code, der den
Graphen einrichtet, wobei die beiden Datens¨atze in verschiedenen Farben gedruckt
werden:
graph(width=400, height=250)
xDots = gdots(color=color.green)
yDots = gdots(color=color.magenta)
Nach diesem Codeblock k¨onnen Sie einen Punkt zu dem Graphen hinzuf¨ugen, indem
sie folgende Zeile hinzuf¨ugen:
xDots.plot(t,x)
und in gleicher Weise mit yDots verfahren.
Aufgabe: F¨ugen Sie den Code, um einen Graphen zu erstellen vor dem bereits existierenden
Code, der die Kugel in einem Kreis bewegt, ein. Des Weiteren f¨ugen Sie
in diesen bereits existierenden Code eine Variable t ein, welche die Zeit repr¨asentiert.
Initialisieren Sie die Variable t gleich Null und erh¨ohen Sie den Wert dieser Variablen
bei jeder Schleifeniteration um 1. Zus¨atzlich f¨ugen Sie in der While-Schleife
die Zeilen ein, die die (t, x) und (t, y) Paare in gr¨un und Magenta drucken. F¨uhren
Sie das Programm aus, um sicher zu gehen, dass alles funktioniert.
Aufgabe: Schauen Sie in der Vpython Dokumentation nach den anderen Attributen
f¨ur das Objekt Graph. Legen Sie dann die Hintergrundfarbe zu wei? fest,
benennen Sie die beiden Achsen passend und geben Sie dem Graph einen Titel.
Achten Sie auf die M¨oglichkeit, wie ein Wertebereich, den der Graph anzeigen soll,
festgelegt werden kann – lassen Sie ihn aber in ihrem aktuellen Graph unspezifiziert,
was einer automatischen Anpassung des Wertebereiches entspricht.
Project 1: Erste Schritte in Python 13
Abschluss
Bevor Sie dieses Projekt einreichen, sehen Sie bitte nochmal ihr eigenes Programm
kritisch durch und stellen Sie sicher, dass es gut strukturiert und einfach zu lesen ist.
Der Code sollte in logische Gruppen eingeteilt und mit hilfreichen Kommentaren
versehen sein. Lassen Sie ihr Programm noch einmal laufen, um zu kontrollieren, ob
auch alles funktioniert und laden sie anschlie end ihre L¨osung als Datei im Format
.ipynb auf ILIAS in den vorgesehenen Ordner des Projekts 1 hoch.
14 Project 1: Erste Schritte in Python
因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com
微信:codinghelp
10 Project 1: Erste Schritte in Python的更多相关文章
- 10个值得我们关注的python博客
大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...
- 10分钟搭建一个小型网页(python django)(hello world!)
10分钟搭建一个小型网页(python django)(hello world!) 1.安装django pip install django 安装成功后,在Scripts目录下存在django-ad ...
- 10个最容易犯的Python开发错误
10个最容易犯的Python开发错误 转载 2017年09月25日 16:54:36 标签: python / 大数据 / 大讲台 Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰 ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- macOS Sierra(10.12.6), odoo(11.0), Python(3.5.4)配置
欣闻odoo11支持python3环境了,赶紧在mac平台尝试一下: 前期设置,参考另篇文章:macOS Sierra 10.12.6 odoo 10.0 开发环境配置 因为odoo11尚未正式发布, ...
- 10款Web开发最佳的Python框架
Python是跻身于当代IT世界最流行和代码最高效的编程语言之一.Python框架能帮助你快速启动Web应用. 1.CubicWeb CubicWeb的最重要的功能是其代码的可重用性,由一个个代码单元 ...
- 从 10.x 到 ArcGIS Pro 的 Python 迁移
与 ArcGIS Pro 结合使用 Python 的方式与包括 ArcGIS Desktop.ArcGIS Server 以及 ArcGIS Engine 在内的其他 ArcGIS 产品不同. 地理处 ...
- 10 种常用 Matplotlib 图的 Python 代码
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“资料”可以 ...
- 第10天 | 12天搞定Python,文件操作(超详细)
在开发系统的过程中,经常会用到XML存储和传输数据,XML是一种用于标记电子文件使其具有结构性的标记语言,在博客中经常会见到. JSON是一种轻量级的数据交换格式,常被用在后端和前端的数据交互上,如你 ...
随机推荐
- linux文件系统初始化过程(3)---加载initrd(上)
一.目的 本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd. initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可执行程序和驱动程序.在l ...
- Lua的线程和状态
[那不是真的多线程] Lua不支持真正的多线程,这句话我在<Lua中的协同程序>这篇文章中就已经说了.根据我的编程经验,在开发过程中,如果可以避免使用线程,那就坚决不用线程,如果实在没有更 ...
- 【原创】运维基础之Ansible(1)简介、安装和使用
官方:https://www.ansible.com/ 一 简介 Ansible is a radically simple IT automation engine that automates c ...
- 如何查询oracle数据库中的各种角色
1. 查询oracle中所有用户信息select * from dba_users;2. 只查询用户和密码select username,password from dba_users;3. 查询当前 ...
- 导出excel 文件
---恢复内容开始--- 安装 pip install xlwt ---恢复内容结束---
- ES6 语法学习(二)
1.类的建立与继承 constructor方法是类的构造函数是默认方法,通过new命令生成对象实例时,自动调用该方法.一个类必须有constructor方法,如果没有显式定义,一个默认的constru ...
- Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
一.下载和测试模型 1. 下载YOLO-v3 git clone https://github.com/qqwweee/keras-yolo3.git 这是在Ubuntu里的命令,windows直接去 ...
- Mongodb字段自增长
MongoClient client = new MongoClient("mongodb://xxx.xxx.x.xx:27017"); var mongServer = cli ...
- golang mysql 的 packet sequence error 这个错
在公司用golang 写了个插入外链数据的服务,这服务是2016年写的,大概作用就是,python 爬取的数据,要同步到 wordpress中,golang就负责,将数据整理,图片下载弄到 wordp ...
- thinkphp5调用支付宝商户号提现给用户
$out_biz_no = Tools::buildOrderNo(); $res = $this->userWithDraw($cash_id,$approve_status,$out_biz ...