python -day01
一、python简介
1.python的起源
python 的创始人为吉多.范罗苏姆
1989(1989 年还有一个大事发生)年的圣诞节期间,吉多.范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉一下什么叫牛人)。 ABC 是由吉多参加设计的一种数学语言,就吉多本人来看,ABC 这种语言非常的优美和强大,是专门为程序员设计的,但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的,吉多决心在 python 中避免这一错误,并获得了非常好的效果。
1991 年,第一个 python 解释器诞生(在互联网上开元 世界上其他的程序员看到了后觉得这个功能不能满足我的需要,就在开源的源代码上进行改进,提交给吉多,审核并和并 这样全世界的人都可以参与到python 这个语言的改进),他是用 c 语言实现的,并能够调用 c 语言的库文件(可扩展性非常强)。 之所以选择 python(蟒蛇)作为程序的名字,是因为他是 BBC 电视剧–
蒙提.派森的飞行马戏团的爱好者。
2.什么是解释器?
计算机不能直接理解任何除机器语言之外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序,将其他语言翻
译成机器语言的工具,被称为编译器。
编译器翻译的方式有两种:一个是编译(使用编译器的语言叫做编译型语言),一个是解释(使用解释器的语言叫做解释型语言),两种方式之间的区别在于翻译的时间点不同,当编译器以解释方式运行的时候,也称之为解释器。
编译型语言–编译器–最终可执行文件:统一编译,一次执行
3.什么叫跨平台?
就是我们开发完成的程序,可在不同的操作系统上运行。
如果我们使用了某一个操作系统的编译器,那么这个编译器最终生成的可执行文件就只能在这个操作系统上运行,不能在其他的操作系统
上运行(不能跨平台)。
在不同的操作系统上安装不同的解释器就可以了
二、python中的变量数据类型循环
1.python中的变量
对变量t赋值时,没有对t分配内存空间,t直接至指向qq。所以id(qq)和id(t)的值一样。
2.python中的数据类型
有4种:
1.整形(int)
2.浮点型(float)
3.字符型(string)
4.bool型
1.查看—type(变量)
2.数据类型的转换
3.在内存中删除一个变量–del
3.python中的输入输出
python3系列
#input():接收任意数据类型
python2系列:
input():只支持输入正确的数据类型
raw_input():接收任意数据类型 —str
同一类型才可以比较:
4.格式化输出
- %f : 浮点型
- %.xf (x:1,2,3,4,5,6)保留小数后多少位
- %d 整数的占位
- %.xd #此位置一共x位,不够的话前面补0
- %.2f%% #2个%表示百分号
整数不够补0:;
百分数表示:
5.python中的运算符
/ | 除 |
---|---|
* | 乘 |
+ | 加 |
- | 减 |
** | 幂 |
// | 取整(python2系列中/是取整) |
% | 取余 |
6.pycharm快捷键的设置
1.pycharm设置界面(ctrl+alt+s):
修改菜单栏字体
修改代码栏字体
修改python解释器位置
2.如何快速创建文件(alt+insert)
3.格式化python代码, 使得风格好看(ctrl+alt+l)
4.如何撤销代码的修改(ctrl+z)
如何取消撤销的代码的修改(ctrl+shift+z)
5.快速重命名(shift+F6)
6.快速注释代码(ctrl+/)
快速取消注释代码(ctrl+/)
三、循环语句
1.if
语法结构1:
if 要判断的条件(True):
条件成立的时候,要做的事情
else:
条件不成立的时候要做的事情
判断年龄是否满18
age=int(input('请输入年龄:'))
if age >=18:
print('成年',age)
else:
print('未成年!')
语法结构2:
if 要判断的条件(True):
条件成立的时候,要做的事情
elif 要判断的条件(True):
...
elif ...
...
else:
条件不成立的时候要做的事情
例子:
score=int(input('请输入分数:'))
if 90 < score <=100:
grade = 'A'
elif 80 < score <= 90:
grade = 'B'
else:
grade = 'C'
print(grade)
2.逻辑运算符
and
条件1 and 条件2
两个条件同时满足,就返回True
只要有一个条件不满足,就返回False
or
条件1 or 条件2
两个条件只要有一个满足,就返回True
两个条件都不满足的时候,就返回False
eg:
python_score = 40
c_score = 50
if python_score >= 60 or c_score >=60:
print(‘考试通过’)
else:
print(‘继续努力’)
3.for
range():内置python函数
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):step:为步长
语法:
for (i=1;i<100;i++)
1-100的和:
# 求1~100之和
sum = 0
for i in range(1, 101):
sum += i # sum = sum + i
print(sum)
sum = 0
# 求1~100的奇数之和
for i in range(1, 101, 2):
sum += i
print(sum)
# 求1~100的偶数之和
sum = 0
for i in range(2, 101, 2):
sum += i
print(sum)
求阶乘:
用户输入一个数字,求该数的阶乘:3!=321
num=int(input('请输入一个数字:'))
s=1
for i in range(1,num+1):
s=s*i
print(s)
for 变量 in range(x):
循环需要执行的代码
else:
全部循环结束后要执行的代码
用户登陆程序:
1.输入用户名和密码
2.判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
3.为了防止暴力**,登陆次数仅有三次,如果超过三次机会,报错
for i in range(1,4):
name=input('请输入用户名:')
passwd=input('请输入密码:')
if name=='root' and passwd=='westos':
print('succes')
break
else:
print('failed!,你仅剩%d次机会' %(3-i))
else:
print('tommorow try again!')
4.break和continue
continue:退出本次循环,continue后面的代码在本次循环中不会被执行
breake:跳出整个循环,不会在循环后面的内容
exit:结束程序的运行
continue:
for i in range(1,6):
if i==3:
continue
print(i)
print('hello')
结果:
break:
for i in range(1,6):
if i==3:
break
print(i)
print('hello')
结果:
exit:
for i in range(1,6):
if i==3:
exit()
print(i)
print('hello')
结果:
牛刀小试:
练习题1:
用户输入年份月份,自动输出该月有多少天?
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
if ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)):
if month in (1, 3, 5, 7, 8, 10, 12):
print('该月有31天')
elif month in (4, 6, 9, 11):
print('该月有30天')
else:
print('该月有29天')
else:
if month in (1, 3, 5, 7, 8, 10, 12):
print('该月有31天')
elif month in (4, 6, 9, 11):
print('该月有30天')
else:
print('该月有28天')
运行结果:
练习题2:
判断用户输入是否为空?若为空,报错。若不为空,输出。
法一:
user = input('请输入:')
if not user: #判断是否为空法一
print('ERROR')
else:
print(user)
法二:
user = input('请输入:')
if user=='': #判断是否为空法二
print('ERROR')
else:
print(user)
运行结果:
练习题3:
用户随便输入一个月,判断属于哪个季节?
month = int(input('请输入月份:'))
if month in (3, 4, 5):
print('春季')
elif month in (6, 7, 8):
print('夏季')
elif month in (9, 10, 11):
print('秋季')
else:
print('冬季')
运行结果:
练习题4:输入输出练习
#求平均成绩(python3解释器)
#- 输入学生姓名;
#- 依次输入学生的三门科目成绩;(语文 数学 英语)
#- 计算该学生的平均成绩, 并打印;
#- 平均成绩保留一位小数点;
#- 计算该学生语文成绩占总成绩的百分之多少?并打印。eg: 78%;
name=input('请输入学生姓名:')
yuwen=float(input('请输入语文成绩:'))
math=float(input('请输入数学成绩:'))
english=float(input('请输入英语成绩:'))
aver=(yuwen+math+english)/3
print('%s的平均成绩为%.2f' %(name,aver))
运行结果:
练习题5:
需求:
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳 random.ranint(1,3)
#3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
import random
player = int(input('请输入你要出的拳头:---石头(1)/剪刀(2)/布(3) ":'))
computer = random.randint(1,3)
print('玩家: %d,电脑: %d' %(player,computer))
if ((player == 1 and computer == 2) or
(player == 2 and computer == 3) or
(player == 3 and computer == 1)):
print('玩家胜利!!')
elif player == computer:
print('平局!!')
else:
print('玩家输了!!!!')
运行结果: