python入门及进阶学习记 lesson2

python入门及进阶学习记 lesson2

 ​

# TempConvert.py

val = input("请输入带温度表示符号的温度值(例如: 32C): ")


if val[-1] in ['C','c']:

f = 1.8 * float(val[0:-1]) + 32

print("转换后的温度为: %.2fF"%f)


elif val[-1] in ['F','f']:

c = (float(val[0:-1]) - 32) / 1.8

print("转换后的温度为: %.2fC"%c)


else:

print("输入有误")

温度转换

input 提示输出数据 类似java的Scanner

if判定 数据val[-1]最后一位截取 是否 在 C与c 中进行包含

有则: 进行数据计算并打印结果

再进行 elif 判定 (与java中 else if一致) …

最后else: 执行打印.


接下来,阅读教程,并尝试用你的新Python编译器做一些简单的练习。

If you’ve never programmed before, see BeginnersGuide/NonProgrammers for a list of suitable tutorials.

如果你之前没有编程经验,读一下 [[BeginnersGuide/NonProgrammers], 里面有适合你的教程列表。

If you have previous programming experience, consult BeginnersGuide/Programmers, which lists more advanced tutorials.

如果你之前有编程经验,参考 BeginnersGuide/Programmers, 里面列出了更多高级教程。

If English isn’t your first language, you might be more comfortable with a tutorial that’s been translated into your language. Consult python.org’s list of Non-English resources.

如果英语不是你的母语,阅读翻译好的教程更适合你。参考 python.org’s 非英语资源列表.

Most tutorials assume you know how to run a program on your computer.

绝大部分教程都假设你掌握如何在你的电脑上运行程序。

BeginnersGuide/Programmers 在lesson1中已经都测试过了,至于有没有什么太难懂的,在初学者教程中暂时还不算太难.


 ​

这里有个比较有趣的题目: 表现出了Python语言的简洁与优雅

# 猴子吃桃问题.


# 猴子第一天摘下若干个桃子,当即吃了一半, 还不过瘾, 又多吃了一个;


# 第二天早上又将剩下的桃子吃掉一半, 又多吃了一个.


# 以后每天早上都吃了前一天剩下的一半多一个.


# 到第五天早上想再吃时, 见只剩下一个桃子了.


# 请编写程序计算猴子第一天共摘了多少桃子.


n = 1


for i in range(5,0,-1):

n = (n+1) << 1

print(n)

画桌面文件

import turtle


from datetime import *



# 抬起画笔, 向前运动一段距离放下


def Skip(step):

turtle.penup()

turtle.forward(step)

turtle.pendown()



def mkHand(name,length):

#注册Turtle形状,建立表针Turtle

turtle.reset()

Skip(-length*0.1)

#开始记录多边形的顶点. 当前的乌龟位置是多边形的第一个顶点

turtle.begin_poly()

turtle.forward(length*1.1)

#停止记录多边形的顶点,当前的乌龟位置是多边形的最后一个顶点,将与第一个顶点相连

turtle.end_poly()

#返回最后记录的多边形

handForm = turtle.get_poly()

turtle.register_shape(name,handForm)



def Init():

global secHand, minHand, hurHand, printer

#重置Turtle指向北

turtle.mode("logo")

#建立三个表针Turtle并初始化

mkHand("secHand",135)

mkHand("minHand",125)

mkHand("hurHand",90)

secHand = turtle.Turtle()

secHand.shape("secHand")

minHand = turtle.Turtle()

minHand.shape("minHand")

hurHand = turtle.Turtle()

hurHand.shape("hurHand")


for hand in secHand, minHand, hurHand:

hand.shapesize(1,1,3)

hand.speed(0)


#建立输出文字Turtle

printer = turtle.Turtle()


#隐藏画笔的turtle形状

printer.hideturtle()

printer.penup()



def SetupClock(radius):

#建立表的外框

turtle.reset()

turtle.pensize(7)

turtle.pencolor("#ff5500")

turtle.fillcolor("green")


for i in range (60):

Skip(radius)

if i % 5 == 0:

turtle.forward(20)

Skip(-radius - 20)


Skip(radius + 20)

if i == 0:

turtle.write(int(12),align="center",font=("Courier",14,"bold"))

elif i == 30:

Skip(25)

turtle.write(int(i/5),align="center",font=("Courier",14,"bold"))

Skip(-25)

elif (i == 25 or i == 35):

Skip(20)

turtle.write(int(i/5),align="center",font=("Courier",14,"bold"))

Skip(-20)

else:

turtle.write(int(i/5),align="center",font=("Courier",14,"bold"))

Skip(-radius - 20)

else:

turtle.dot(5)

Skip(-radius)

turtle.right(6)



def Week(t):

week = ["星期一", "星期二", "星期三",

"星期四", "星期五", "星期六", "星期日"]

return week[t.weekday()]



def Date(t):

y = t.year

m = t.month

d = t.day

return "%s-%d-%d" % (y,m,d)



def Tick():

#绘制表针的动态显示

t = datetime.today()

second = t.second + t.microsecond * 0.000001

minute = t.minute + second / 60.0

hour = t.hour + minute / 60.0

secHand.setheading(6*second)

minHand.setheading(6*minute)

hurHand.setheading(30*hour)


turtle.tracer(False)


printer.forward(65)

printer.write(Week(t),align="center",

font=("Courier",14,"bold"))

printer.back(130)

printer.write(Date(t),align="center",

font=("Courier",14,"bold"))

printer.home()

turtle.tracer(True)


# 100ms后继续调用tick

turtle.ontimer(Tick,100)



def main():

#打开/关闭龟动画,并为更新图纸设置延迟

turtle.tracer(False)

Init()

SetupClock(160)

turtle.tracer(True)

Tick()

turtle.mainloop()



if __name__ == "__main__":

main()

画蟒蛇

import turtle



def drawSnake(rad,angle,len,neckrad):

for i in range(len):

turtle.circle(rad,angle)

turtle.circle(-rad,angle)

turtle.circle(rad,angle/2)

turtle.fd(rad)

turtle.circle(neckrad+1,180)

turtle.fd(rad*2/3)



def main():

turtle.setup(1300,800,0,0)

pythonsize = 30

turtle.pensize(pythonsize)

turtle.pencolor("blue")

turtle.seth(-40)

drawSnake(40,80,5,pythonsize/2)

turtle.mainloop()


main()

画金字塔

import turtle


import time



def drawGiza(size,speed,angle):

turtle.speed("fastest")

turtle.pensize(size)

for x in range(100):

turtle.forward(speed*x)

turtle.left(angle)

time.sleep(3)



def main():

drawGiza(2,4,90)

turtle.mainloop()


main()

函数库的引用:

 

函数库调用方式

 ​

 第一种 import 需要写原库名.方法

使用第二种 from 库名 import 某方法(模块) 不需要写库名

 ​

类型的概念:


  • 类型是编程语言对数据的一种划分.

  • Python语言的类型:
    数字类型,字符串类型,元组类型,列表类型,文件类型,字典类型


数字类型:


  • 与数学中的整数概念一致,没有取值范围限制
  • pow(x,y) 函数: 计算python入门及进阶学习记 lesson2_ide

python入门及进阶学习记 lesson2_ide_02

python入门及进阶学习记 lesson2_python_03

python入门及进阶学习记 lesson2_ide_04

python入门及进阶学习记 lesson2_数据_05

python入门及进阶学习记 lesson2_数据_06

python入门及进阶学习记 lesson2_数据_07

python入门及进阶学习记 lesson2_ide_08

python入门及进阶学习记 lesson2_数据_09

python入门及进阶学习记 lesson2_python_10

python入门及进阶学习记 lesson2_数据_11

python入门及进阶学习记 lesson2_python_12

python入门及进阶学习记 lesson2_python_13

# 求平均数

num1 = input("The first number is :")

num2 = input("The second number is : ")

avg_num = (float(num1) + float(num2)) / 2

print("The average number is %f" % avg_num)

python入门及进阶学习记 lesson2_数据_14