一、出使Python国
1. 输出函数print()
print()一般情况下可以
- 输出数字
print(2)
- - 输出表达式
print(1 + 2)
- - 输出字符串
print("Hello World!")
- - 向文件里面输入内容
f = open('D/a.txt', 'a+')
print('Hello World!', file = f)
f.close()
# 1. 输出数字
print(1)
# 2. 输出表达式
print(1 + 2)
# 3. 输出字符串
print("Hello World!")
# 4. 向文件中输入内容
f = open("I:/a.txt", 'a+') # a+ 表示在文件后面追加内容
print('Hello World!', file = f)
f.close()
2. 转义字符与原字符
\n | 换行 |
\t | 制表符 |
\r | 回车 |
\b | 倒退 |
注意:
\t 制表符,同一个制表符作用之后产生的空白间距可能不同
\r 回车 回车之后可能会覆盖前面的内容
\b 倒退 倒退之后也会覆盖前面的内容
\\ | \ |
\' | ' |
\" | " |
原字符
原字符就是可以将转义字符按照原来的格式输出的, 即转义字符不会起到转移的效果(r或者R)
3. 数据类型转换
1. str()函数
可以将所有类型的数据转换成字符串
s = 'Hello World!'
i = 1
f = 1.2
b = True
print(str(s), type(s), type(str(s)))
print(str(i), type(i), type(str(i)))
print(str(f), type(f), type(str(f)))
print(str(b), type(b), type(str(b)))
2. int() 函数
s = 'Hello World!'
i = 1
f = 1.2
b = True
ss = '12.3'
# print(s, int(s), type(int(s))) 不能使用int()函数进行转换, 因为是字符串类型的数据
print(f, int(f), type(int(f))) # 浮点数 可以进行数据类型的转换, 进行截断操作
print(b, int(b), type(int(b))) # 布尔型, 可以进行数据类型的转换, True可以转换成1
# print(ss, int(ss), type(int(ss))) 不能1进行数据类型型转换, 因为是数字串
'''
总结:
1. 字符串类型的不能转换成整数型
2. 浮点数、布尔型的数据可以转换成整数型
True可以转换成1
False可以转换成0
'''
3. float()
可以将整数型、 数字串的字符串型、整数型转换成浮点型
s1 = '12'
s2 = '12.3'
s3 = 'Hello'
s4 = True
s5 = 18
print(type(s1), type(s2), type(s3), type(s4), type(s5))
print(float(s1), type(float(s1)))
print(float(s2), type(float(s2)))
# print(float(s3), type(float(s3))) 不能进行转换, 因为字符串不是数字串
print(float(s4), type(float(s4)))
print(float(s5), type(float(s5)))
4. input()函数的高级用法
求两个数字的和(需要1进行数据类型的转换)
a = input()
b = input()
print(int(a) + int(b))
5. 顺序结构
print("------程序开始--------")
print("1. 打开冰箱门")
print("2. 把大象放进冰箱")
print("3. 将冰箱门关上")
print("------程序结束--------")
6. 对象布尔值
哪些对象的布尔值是False?
- 0
- 0.0
- 空列表
- 空元祖
- 空字典
- 空集合
- 空字符串
print(bool(0))
print(bool(0.0))
print(bool(''))
print(bool(()))
print(bool([]))
print(bool({}))
print(bool(set()))
7. 分支语句
if(条件表达式):
条件成立执行的代码
if(条件表达式1):
条件1成立执行的代码
elif(条件表达式2):
条件2成立执行的代码
else:
都不成立执行的代码
answer = input("请输入是否是会员:(y/n) ")
price = float(input("请输入付款金额:"))
if answer == 'y':
if price >= 200:
print("实际需要支付的金额是:", price * 0.8)
elif price >= 100:
print("实际需要支付的金额是:", price * 0.9)
else:
print("实际需要支付的金额是:", price)
elif answer == 'n':
print("您不是会员, 没有折扣!")
8. 循环语句
注意:一定不能忘记改变变量
4步循环法 1、初始化变量 2、条件判断 3、条件执行体(循环体) 4、改变变量 总结:初始化的变量与条件判断的变量与改变的变量为同一个 |
sum_num = 0
a = 0
while a<4:
sum_num += a
a += 1
print(sum_num)
sum = 0
a = 0
while a <= 100:
if a % 2 == 0:
sum += a
a += 1
print(sum)
for循环
sum = 0
for i in range(101):
if not bool(i%2):
sum += i
print(sum)
for_ 的用法:
for _ in range(5):
print("人生苦短, 我用Python")
使用for循环完成水仙花数的查找
# 查找所有三位数字的水仙花数
for item in range(100, 1000):
ge = item % 10
shi = item // 10 % 10
bai = item // 100
# print(bai, shi, ge)
if ge**3 + shi**3 + bai**3 == item:
print(item)
9. break语句的使用
for i in range(3):
pwd = input("请输入密码:")
if pwd == "888":
print("密码正确。")
break
else:
print("密码不正确。")
# 输出1 - 100之间所有可以被5整除的数字
for i in range(1, 101):
if i%5!=0:
continue
print(i)
10.else语句
else与for while搭配使用的时候, 如果没有执行break那么else后面的语句就会被执行, 如果在循环体里面遇到break,else后面的代码就不会被执行。
for i in range(3):
pwd = input("请输入密码:")
if pwd == '888':
print('密码正确!')
break
else:
print('密码不正确!')
else:
print("三次密码都不正确, 账号已经被锁定!")
a = 0
while a<=2:
pwd = input("请输入密码:")
a += 1
if pwd == '888':
print('密码正确!')
break
else:
print("密码不正确!")
二、一字排开(列表)
1. 列表对象的创建
列表对象的创建一共有两种方式
第一种:list = [1, 2, 2]
第二种:list = list(1, 2, 2)
li = []
print(type(li))
b = list()
print(type(b))
列表元素的特点:
1. 可以通过索引值获取
2. 可以容纳不同类型的数据
3. 数据可以重复
4. 列表中的元素是有顺序的
2.获取列表中元素的索引
可以使用index() 函数
index(起始位置, 终止位置, 步长)
li = [1, 'qw', 189.0, True]
print(li.index("qw"))
# print(li.index("qwsad"))
print(li.index("qw", 3, 29))