目录
一、环境搭建和课程介绍
(1)安装最新版本的python3.x
(2)安装编辑器(找合适自己的)
二、用python设计第一个游戏
三、变量和字符串
(1)变量
(2)字符串
①单引号 ' '
②双引号 " "
③三引号 """ """
四、是时候讲讲代码了
(1)字符串转换成整型
(2)比较运算符
(3)if ... else ...
五、改进我们的小游戏
改进:
知识点:
随机数复现:
六、数字类型
算数运算法:
七、布尔类型
①布尔运算:
②逻辑运算:and、or、not
八、短路逻辑和运算符优先级:
①短路逻辑:
②算数运算符优先级:not > and > or
九、谋定而后动,知止而有得(画流程图)
①流程图(注重实现)
②思维导图(侧重设计)
十、分支和循环:
①if
将if语句==>条件表达式:
②循环(while)
(1)退出死循环:break
(2)while ... else
(3)九九乘法表:
(4)for循环
""" 用Python设计第一个游戏"""
temp = input("不妨猜一下小甲鱼现在心里想的那个数字:")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫嘛?")
print("哼,猜中了也没有奖励")
else:
print("猜错啦,小甲鱼现在心里想的是8")
print("游戏结束,不玩了")
注意:
(1)检查单词拼写
(2)检查标点符号
(3)注意缩进
x = 3
y = 5
x, y = y, x # 交换x和y的值,不需要临时变量
print(x, y) # 5 3
print('I love cc单引号') # 单引号
print("I love cc双引号") # 双引号
print("Let's go") # 打印单引号
print('"Life is short,you need Python."') # 打印双引号出来
print('"Life is short,Let\'s learn Python"') # 转义字符
print("D:\\three\\two\\one\\now") # 添加\ 转移下(但是如果路径很长的话,很麻烦)
print(r"D:\three\two\one\now") # 可以直接在前面添加r即可。
print("我每天都在学习\n"*5) # 打印5行 我每天都在学习
temp = input("12")
guess = int(temp) # 将字符串转换成int型
print(temp)
①当用户猜错的时候,程序应该给出提示
②应该提供多次机会给用户
③每次运行程序,答案应该是随机的
import random
randomNum = int(random.randint(1, 10)) # 生成随机数 random.randint(a, b) 返回随机整数N,满足 a<= N <=b
i = 3 # 用来控制循环次数
print("随机数是:", randomNum)
while i > 0:
temp = input("请输入一个数字:")
guess = int(temp)
if guess == randomNum:
print("好厉害,猜对了")
break # 猜对啦,那就直接跳出循环咯
elif guess > randomNum:
print("猜大了")
else:
print("猜小了")
i = i - 1
print("结束咯,", randomNum)
(1)while循环
(2)break语句
(3)循环嵌套 if ... else ...(if...else...)
(4)生成随机数 random
""" 随机数重现 """
x = random.getstate()
for i in range(3):
num = random.randint(1, 5)
print(num)
print("随机生成完毕")
random.setstate(x)
for i in range(3):
num = random.randint(1, 5)
print(num)
print("复现随机数完毕")
import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
c = decimal.Decimal('0.3')
print(a + b == c) # True
print(a + b == 0.3) # False
# E计数法,即科学计数法
print(0.00005) # 5e-05
# 复数
x = 1+3j
print(x.real) # 获取实部的值 1.0
print(x.imag) # 获取虚部的值 3.0
import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
c = decimal.Decimal('0.3')
print(a + b == c) # True
print(a + b == 0.3) # False
# E计数法,即科学计数法
print(0.00005) # 5e-05
# 复数
x = 1+3j
print(x.real) # 获取实部的值 1.0
print(x.imag) # 获取虚部的值 3.0
# x // y 表示 取比目标结果小的最大整数。
print(3 // 2) # 1
print(-3 // 2) # -2
# divmod(x // y, x % y)
x = 3
y = 2
result = divmod(x // y, x % y) # 地板除 余数
print(result)
# abs(y) 取绝对值
y = -91
print(abs(y)) # 91
# int(y) 取整,如果是小数的话,直接将小数点后面去掉。不是四舍五入
y = 9.99
print(int(y)) # 9
# float(y) 转换成浮点数
# complex(y) 转换成复数
y = 1+2j
print(complex(y))
# x**y 表示x的y次方
# pow(x, y) 两个参数:表示x的y次方 与 x**y等价。
# pow(x,y,z) 三个参数:x的y次方,结果在于z取余。
y = pow(2, 5, 10)
print("pow(2, 5, 10)=", y)
print(bool(250)) # True
print(bool("False")) # True
print(bool(False)) # False
print(bool(" ")) # True
print(bool("")) # False
print(bool(0)) # False
print(bool(0j)) # False
print(bool(0.0)) # False
"""
以下定义bool() 的都是False:
定义为False的对象:None和False
值为0的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0,1)
空的序列和集合:'', (), [], {}, set(), range(0)
"""
print("=======")
print(True == 1) # True
print(False == 0) # True
print(True + False) # 1
print(True * False) # 0
print(True / False) # 报错,分母不能为0
"""
问题:
x = ((not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9))
print(x) # 4
and 和 or 进行短路运算
3 and 4 # 4 左右同时为true才为true,因此必须判断右边值的结果是否为true
3 or 4 # 3
短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
or:如果第一个数的bool结果为True,就直接丢这个数;否则,就就把后面的数丢出来作为答案。
"""
x = ((not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9))
# False or 0 or 4 or 6 or 9
print(x) # 4 所以,结果为4
"""算数运算符的优先级 not > and > or """
x = not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
print(x) # 4 结果还是4 运算优先级:not > and > or
score = input("请输入你的分数:")
score = int(score)
if 0 <= score < 60:
print("D")
elif 60 <= score < 80:
print("C")
elif 80 <= score < 90:
print("B")
elif 90 <= score < 100:
print("A")
elif score == 100:
print("S")
else:
print("请输入0-100之间的数值")
age = 16
print("抱歉,未满18岁") if age < 18 else print("欢迎")
# 例子:
a = 2
b = 5
small = a if a < b else b
print(small)
#例子
score = 66
level = ('D' if 0 <= score < 60 else
'C' if 60 <= score < 80 else
'B' if 80 <= score < 90 else
'A' if 90 <= score <= 100 else
"请输入0-100之间的分值")
print(level)
i = 1
sum = 0
while i <= 10:
sum += i
i += 1
print(sum)
""""
while else 可以在不使用标志位的情况下,退出循环。
else 当while循环里面的break跳出时,不会执行else里面的语句。
"""
day = 1
while day <= 7:
answer = input("今天有好好学习么?")
if answer != '有':
break
day += 1
else:
print("good,已经坚持7天学习啦")
# 九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(j, "*", i, "=", i*j, end=" ")
j += 1
print()
i += 1
"""
无论是break还是continue 只能作用于一层循环体。
"""
for 变量 in 可迭代对象:
statement(s)
for each in "English":
print(each) # E n g l i s g
for i in range(10): # range(10) 生成0-9之间的数字
print(i) # 0 1 2 3 4 5 6 7 8 9
for i in range(5, 10): # range(5, 10) 生成5-9之间的数字 左闭右开
print(i) # 5 6 7 8 9
for i in range(5, 10, 2): # range(5, 10, 2) 生成5-9之间的数字 左闭右开,且步长为2
print(i) # 5 7 9
(5)找素数:
# 找出10以内的所有素数。
""" for ... else... """
for i in range(2, 10):
for j in range(2, i):
if i % j == 0:
break
else:
print("是素数", i)
继续学习咯!!