您的位置:首页 > 编程语言 > Python开发

Python基础 -- 01 Python的基础语法(数据类型、输入输出、运算符、数据类型转换、判断语句、循环语句)

2018-01-09 14:20 726 查看

一、python中的数据类型



        在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别。

        可以使用type(变量的名字),来查看变量的类型。

1、可变数据类型

元素内容可以发生变化的,变化之后id不变
List(列表)
Dictionary(字典)
arr = ['1',2,"333",5.4]
print(id(arr)) # 1942847742856
arr[0] = 12
print(id(arr)) # 1942847742856

2、不可变数据类型

元素内容发生变化之后,id会发生变化的
除List和Dictionary之外的所有数据类型
num = 1
print(id(num)) # 1457824864
num = 12
print(id(num)) # 1457825216

二、print输出语句

1、格式化输出

(1)、格式化输出的代码
"""
%s 表示字符串的占位符
%d 表示整数的占位符
%f 表示小数的占位符,%.2f 表示只保留两位小数部分,并且自动四舍五入(默认是保留六位小数)
"""

age = 18
print("我今年%d岁"%age)

age = age + 1
print("我今年%d岁"%age)

name = "张飞"
print("%s今年%d岁"%(name,age))

pi = 3.141592653
print("圆周率大约为:%.3f"%pi)(2)、格式化输出的语法



2、换行输出

"""
print()输出语句默认有换行功能,默认语法是:print("",end = "\n")
\n代表换行的意思,我们可以通过改变默认值,进行调整是否换行或者其他操作
\t:代表Tab

"""

print("这是默认输出,换行")
print("这句输出最后不换行",end = "\t")
print("这句输出最后多加一堆空格",end=" ")

三、input输入语句

1、输入语句

input()接受表达式输入,并把表达式的结果赋值给等号左边的变量"""
python3中使用input接收输入的数据,默认是字符串类型的

"""
s = input("请输入密码")

print(s)
print(type(s))

#通过强制类型转换,将s转换为数字类型
s = int(s)
print(type(s))

四、运算符

1、算数运算符



代码示例
"""
算数运算符
"""

########### + 号运算符
a = 3
b = 4
c = a + b
print(c)
#整数和浮点类型的数相加,结果是浮点类型的数
f1 = 3.1415926
f2 = 2
f3 = f1 + f2
print(f3) #5.1415926
print(type(f3)) #<class 'float'>
#字符串和字符串相加,从左到右合并字符串
s1 = "我是"
s2 = "一名"
s3 = "程序员"
s4 = "!!!!!!!"
print(s1+s2+s3+s4) #我是一名程序员!!!!!!!

########### - * / 号运算符,字符串不支持进行- * /号运算
a = 3
b = 4
c = a - b
print(c) #-1

########### // 整除运算符
f1 = 2.4
a = 10
print(a//f1) # 4.0

########### % 取余运算符
a = 7
b = 20
print(b % a) #6

########### ** 指数运算符
print(3**4) # 代表3的4次方 结果为81
print(2**10) # 1024注意:混合运算的时候,优先级的顺序为:  *  >  /  = %  =  //  > +  =  -,为避免出现分歧,建议使用( )包裹起来进行运算,并且不同类型的数值在进行运算的时候,会将整数值转换为浮点数进行运算

2、赋值运算符

普通赋值运算符:



复合赋值运算符:



3、比较(关系)运算符



4、逻辑运算符



代码演示:
"""
逻辑运算符
and:左右表达式都为True,则整个结果才为True。and具有短路的功能,即左边为False,右边就不会做判断
or:左右表达式只要有一个为True,则整个表达式都是True。or也有短路功能,即左边为True,则右边就不会做判断
not:将右边表达式的结果取反,即:True变为False,False变为True
"""
# and
if (1 == 1) and (4 > 3) :
print("条件成立") # 条件成立

# or
if (1 > 3) or (2 == 2):
print("条件成立") # 条件成立

# not
if (not 1 == 1):
print("条件成立")

五、数据类型转换



数据类型转换的代码操作:
"""
int()类型转换,默认是十进制进行转换,如果第二个参数给出具体值,则按照给定的进制进行转换
"""
str1 = "5"
num1 = int(str1,8) # 将字符串str1按照8进制的方式转换为数字,因为8进制中没有9,所以该行要报错
print(num1) # 打印的时候默认的进制为10进制

# 以下示例中给出的值是20,转换为16进制的数字,结果是32
str1 = "20"
num = int(str1,16)
print(num)

# int() 处理浮点型数字的时候,直接将小数点舍弃,而不是进行四舍五入
f = 3.1415
f1 = int(f)
print(f1) # 3

"""
str():将数据转换为字符串类型
"""
num = 10
s = str(num)
print(type(s)) # <class 'str'>
st = 'hello'
print(st) # hello
st1 = str(st)
print(st1) # hello

"""
repr():转换表达式为字符串
"""
num = 10
s = repr(num)
print(s)
print(type(s))
st = 'hello'
print(st) # hello
st1 = repr(st)
print(st1) # 'hello'

"""
eval():将字符串类型的数据转换为原本的类型
"""
st2 = "3.1415"
a = eval(st2)
print(type(a)) # <class 'float'>
str3 = "[10,20,30]"
arr = eval(str3)
print(type(arr)) # <class 'list'>
print(arr[0]) # 10

"""
chr():将数字转换成Unicode字符
"""
i = 65
ch = chr(i)
j = 92
ch2 = chr(j)
print(type(ch)) # <class 'str'>
print(type(ch)) # <class 'str'>
print(ch) # A
print(ch2) # \

"""

ord():将一个字符转换为对应的字符编码数字
"""
ch = 'a'
num = ord(ch)
print(type(num)) # <class 'int'>
print(num) # 97

六、判断语句

1、if判断语句

(1)、使用格式:
if 要判断的条件:
条件成立时,要做的事情注意:代码的缩进为一个Tab键,或者4个空格,判断代码是否在if判断体内,就看该行代码是否缩进。
(2)、代码演示:"""
在python中,bool值的True就是1,False就是0
在if条件判断中,只要不是0,其余的正数都为True
注意:在python中要严格遵循缩进格式。
即:判断一行代码是否在if判断体中,就是根据该行代码是否是在if的缩进格式中
"""
age = int(input("请输入你的年龄:"))
if age >= 18:
print("你好,你的年龄大于18岁。")
print("你好,你可以上网。")
print("你好,卡已激活,请登录上网。")
print("此行代码不在if的缩进格式内,因此不属于if判断的判断体,即,无论if条件是否成立,此行代码都会执行")

2、if-else判断语句

(1)、使用格式
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...(2)、代码演示:
age = int(input("请输入年龄:"))

if age > 18:
print("你的年龄大于18岁,可以上网")
print("美滋滋~~")
else :
print("你的年龄小于18岁,不能上网")
print("回家拿手机玩王者农药去吧")
print("程序结束")

3、elif条件判断语句

语法格式:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3格式说明:
        当xxx1满足时,执行事情1,然后整个if结束。
        当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束。
        当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束。

代码演示:
# elif
score = int(input("请输入你的分数:"))
if score >=90 and score <=100:
print("您的成绩为A!")
elif score >= 80 and score < 90:
print("您的成绩为B!")
elif score >= 70 and score < 80:
print("您的成绩为C!")
elif score >= 60 and score < 70:
print("您的成绩为D!")
else:
print("您的成绩不及格,请重修!!!")

4、if嵌套

语法格式:
if 条件1:

满足条件1 做的事情1
满足条件1 做的事情2
...(省略)...

if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
...(省略)...代码演示:
"""
模拟情景:坐火车,有火车票可以进,没有不能进,有火车票,过安检,安检通过可以进,否则不能进
"""
ticket = int(input("是否有车票:1(有),0(没有)"))
if ticket:
print("有车票,进行安检")
knife = int(input("管制刀具长度:"))
liquid = int(input("液体的数量:(单位:ml)"))
if knife < 10 and liquid < 80:
print("携带的物体符合规定,可以进站,美滋滋~~~")
else:
print("不符合规定,不能进站")
else:
print("车票都没有,拜拜了!!!!")练习:猜拳游戏"""
模拟情景:石头剪刀布
"""
import random # 使用随机数的时候,需要导入随机数的包

computer = random.randint(1,3) # randint(1,3):表示在[1,3]之间随机生成一个整数
player = int(input("请输入一个数字,1(石头),2(剪刀),3(布)"))

if (computer == 1 and player == 3) or (computer == 2 and player == 1) or (computer == 3 and player == 2):
print("玩家获胜")
elif (computer == player):
print("双方平局")
else:
print("电脑获胜")

七、循环语句

1、while循环语句

语法格式:
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...数字求和案例演示:"""
计算1~100的所有数字之和
"""
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print("1 ~ 100之间所有数字之和为:%d。" %sum)

"""
计算1 ~ 100 之间所有偶数的累加和
"""
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum += i
i += 1
print("1 ~ 100之间所有偶数之和为:%d。" %sum)while循环嵌套代码演示:i = 1
j = 1
k = 1

while i < 5:
countI = i
while j <= 4:
countJ = j * i
while k <= 3:
countK = k * j * i
print("第%d次输出k"%countK)
k += 1
j += 1
print("第%d次输出j" % (countJ))
print("第%d次输出i" % countI)
i += 1
"""
以上程序输出结果为:
第1次输出k
第2次输出k
第3次输出k
第1次输出j
第2次输出j
第3次输出j
第4次输出j
第1次输出i
第2次输出i
第3次输出i
第4次输出i
"""while循环打印三角形代码:"""
使用while打印格式如下的图案:
*
* *
* * *
* * * *
* * * * *
"""

# 方式 1:
i = 1
while i <= 5 :
print("* " * i) # "* " * i:代表i个*相加
i += 1

# 方式 2:
line = 1
while line <= 5:
start = 0
while start < line:
print("*",end=" ")
start += 1
print() # 该行表示换行
line += 1while循环打印99乘法表:"""
使用while循环打印99乘法表,格式如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
...
"""
line = 1
while line <= 9:
lie = 1
while lie <= line:
print("%d * %d = %d" %(lie, line, lie*line),end="\t")
lie += 1
print()
line += 1

"""
输出结果如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
"""

2、for循环

语法格式:
for 临时变量 in 列表或者字符串等:
循环满足条件时执行的代码遍历字符串代码演示:
"""
使用for循环遍历字符串
"""
str = "hello world!!!"
for i in str:
print(i)
"""
输出结果:
h
e
l
l
o

w
o
r
l
d
!
!
!
"""

"""
使用for循环遍历列表
"""
list = [1, True, 3.14, "hello world", ["a",3]]
for x in list:
print(x)
"""
打印结果:

1
True
3.14
hello world
['a', 3]
"""

3、break和continue关键字

break:结束当前所有循环。
continue:结束当前所在的循环,继续执行下次循环。

八、课后作业

1、打印三角形

"""
打印三角菱形
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
"""
hang = 1
while hang <= 9:
if hang <= 5:
lie = 1
while lie <= hang:
print("*",end="\t")
lie += 1
else:
lie = 1
while lie <= 10 - hang:
print("*",end="\t")
lie += 1
hang += 1
print()

2、地铁车票问题

"""
题目要求:
使用市政交通一卡通刷卡乘坐轨道交通,
每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
满150元以后的乘次,价格给予5折优惠;
支出累计达到400元以后的乘次,不再享受打折优惠。

地铁票务规定:
6公里(含)内3元;
6公里至12公里(含)4元;
12公里至22公里(含)5元;
22公里至32公里(含)6元;
32公里以上部分,每增加1元可乘坐20公里。
"""
days = int(input("请输入每个月上班的天数:"))
count = int(input("请输入每天乘坐地铁的次数:"))
km = int(input("请输入每天乘坐的公里数:"))

# 根据票务规定,计算出每次乘坐地铁的花费
eachMoney = 0
if km <= 6:
eachMoney = 3
elif km > 6 and km <= 12: # python独有写法:elif 6 < km <= 12:
eachMoney = 4
elif km > 12 and km <= 22:
eachMoney = 5
elif km > 22 and km <= 32:
eachMoney = 6
elif km > 32:
temp = km - 32 #超出32公里的距离
i = 1 # 每次增加的钱
while temp - 20 >= 1:
i += 1
temp -= 20
eachMoney = 6 + i

# 计算每月花费
i = 0 # 定义做地铁的次数
money = 0
while i < count * days: # count * days : 每个月乘坐地铁的次数
if money < 100:
money += eachMoney
elif 100 <= money < 150:
money += eachMoney * 0.8
elif 150 <= money < 400:
money += eachMoney * 0.5
else:
money += eachMoney
i += 1
print("当月坐地铁总共花费:%.2f元" % money)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐