a. 两个角色 玩家 player - 电脑 robot
b. 动作: 石头 0 , 剪刀 1, 布 2
c. 我的出拳: 由输入完成
d. 电脑的出拳: 随机数完成
e. 比较出拳
f. 相等 - 平局
g. 玩家赢: p0:r1 p1:r2 p2:r0
h. 剩下的情况就是电脑赢
c语言: 条件? 值1 : 值2
python实现:
值1 if 条件 else 值2
执行过程:
判断 条件是否成立,如果条件成立,那么得到值1, 否则得到值2
程序分为三种执行结构 :
a. 顺序结构 -> 从上至小,顺序执行
b. 分支结构 -> 根据条件是否成立,选择不同的代码执行
c. 循环结构 -> 一段代码会重复执行多次
循环四要素:
a. 循环变量初始值
b. 循环条件
c. 循环体代码
d. 让循环变量趋近于结束条件的代码
循环执行过程:
以上方描述的 abcd 做为过程
a -> b -> c -> d -> b -> c -> d -> b -> c -> d ->… b(不满足条件,退出循环)
while格式:
while 条件:
循环体代码
1.break 只能用在循环里
2.break 的作用是用来结束循环,不管循环还有多少次
- continue 也只能用在循环里
- continue 的作用是用来结束本次循环,不管循环体中还有多少代码没有执行,进入下一次循环
while 条件1:
while 条件2:
循环体…
执行过程:
外层循环循环一次,内层循环循环一圈
打印正方形***** ***** ***** ***** *****打印三角形
* ** *** **** *****打印九九乘法表
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9
...
1*9=9 ..... 9*9=81
for-in 是一种增加型循环
range()用来取一个范围
格式: for 循环变量 in range (a,b):
循环代码…
执行过程:
range(a,b)->[a,b)->a~b-1
for会从Range中得到的数列中,一次取出数字放到循环变量
for-in-else,while-else无论是哪个,都是在执行完循环后,正常结束后,执行else后的代码
如果循环遇到break被中断执行,那么不会执行Else后的代码
字符串定义和下标字符串的概念: 以引号引起来的若干字符
定义方式:
‘hello’ ,“hello”,’’‘hello’’’
下标:
字符串中每个字符的编号
字符串的下标是 0~字符串个数-1
通过下标访问字符串中字符的格式:
字符串变量名[下标]
字符串[下标]
字符串的遍历遍历: 依次访问字符串中的每一个字符
方式一:
for c in s:
print©
方式二:
字符串的长度 = len(字符串)
for i in range(len(字符串)):
print(s[i])
方式三:
i = 0
while i < len(字符串):
print(s[i])
i += 1
切片作用:通过指定下标,可以获取字符串中的一段字符
格式:
字符串或字符串变量[起始下标:结束下标:步长],步长默认为1
步长可以取负值,负值表示从右向左切,但是下标还是从左向右数
字符串逆序
s[::-1]
切片时,起始下标和结束下标都可以使用负数
负数表示从右向左编号,第一个字符是-1
a b c d e f
-6 -5 -4 -3 -2 -1
字符串常用方法a.查找_替换_统计
find() 掌握
rfind() 了解
index() 了解
rindex() 了解
replace() 掌握
count() 掌握
b. 分割_连接
split() 掌握
partition() 了解
rpartition() 了解
splitlines() 了解
join() 掌握
c. 判断
startswith() 掌握
endswith() 掌握
isupper() 了解
islower()
isdigit()
isalpha()
isalnum()
isspace()
d. 转换 (了解)
upper()
lower()
title()
capitalize()
e. 对齐(了解)
center()
rjust()
ljust()
f. 去除空白(了解)
strip()
lstrip()
rstrip()
API 应用程序接口文档
Application Interface
``
# break的作用
while True:
print("begin")
# 如果这里换成continue就会不停打印begin,后面都不执行
break
print("aaa")
print("over")
'''
猜拳游戏
a. 两个角色 玩家 player - 电脑 robot
b. 动作: 石头 0 , 剪刀 1, 布 2
c. 我的出拳: 由输入完成
d. 电脑的出拳: 随机数完成
e. 比较出拳
f. 相等 - 平局
g. 玩家赢: p0:r1 p1:r2 p2:r0
h. 剩下的情况就是电脑赢
'''
# 导入随机数模块
import random
def game():
# pass 如果是空函数,要调用需要这行
# 定义一个玩家,从键盘输入值
player = int(input('请输入一个状态(石头 0, 剪刀 1, 布 2):'))
# 定义个电脑变量,使用随机数获取状态
robot = random.randint(0, 2)
# 比较状态
if player == robot:
print("平局")
# 判断玩家状态
elif ((player == 0) and (robot == 1)) or ((player == 1) and (robot == 2)) or ((player == 2) and (robot == 0)):
print("玩家赢")
else:
print("电脑赢")
game()
# 外层循环循环3次,内层循环循环5次
i = 0
while i < 3:
print("i---", i)
j = 0
while j < 5:
print("j---", j)
j += 1
i += 1
# 打印偶数
def print_even(n):
i = 0
while i < n:
i += 1
# 注意这个如果是continue,条件就变成了奇函数
if i % 2 == 1:
continue
print(i)
print_even(10)
# 打印矩形
def print_rect():
i = 0
while i < 5:
j = 0
while j < 5:
# print默认结束换行,需要控制,使用end=设置结束符号
print("*", end=' ')
j += 1
print()
i += 1
print_rect()
# 打印九九乘法表
def nine_nine_table():
# 外层循环用来控制行
i = 1
while i <= 9:
# 内层循环用来控制 打印每一列的表达式
j = 1
while j <= i:
print("%dx%d=%-3d" % (j, i, (j * i)), end=' ')
j += 1
# 这个print 负责换行
print()
i += 1
nine_nine_table()
# for-in & range
def test_func():
for i in range(1, 9):
print(i)
test_func()
# 使用下标访问字符
s = 'hello'
print(s[0])
# 字符串遍历
def test_str(s):
for c in s:
print(c)
for i in range(len(s)):
print(i, '---', s[i])
i = 0
while i < len(s):
print(s[i])
i += 1
test_str("hello")
# 字符串切片
def slice_test():
s = "0123456789"
# 注意这个是以:分离,不是逗号
s1 = s[2:4]
print(s1)
# 字符串逆序
print(s[::-1])
# 下面代码是没有数据,就类似走路,路都在前面,但是你要往后走,就掉下去了,人没了....
print(s[2:9:-1])
# 修改
print(s[9:2:-1])
slice_test()



