循环
if…elif…else循环
单语句(if)
a=90
if a<80:
print("bveg")
pass#空语句
print("njfb")
双语句
a=78
if a>75:
print("jg")
pass
else:
print("bvhf")
a=int(input("成绩:"))
if a>90:
print("A")
pass
elif a>80:
print("B")
pass
elif a>70:
print("C")
pass
elif a>60:
print("D")
pass
else:
print("不及格")
语句重点pass不是必需的
猜拳游戏
import random #导入产生随机数的模块
person=int(input("出拳:[1:剪刀 0:石头 2:布]"))
computer=random.randint(0,2)
if person==1 and computer==2:
print("computer:{}\nwin".format(computer))
elif person == 0 and computer == 1:
print("computer:{}\nwin".format(computer))
elif person == 2 and computer == 0:
print("computer:{}\nwin".format(computer))
elif person==computer:
print("computer:{}\nbalance".format(computer))
else :
print("computer:{}\nfalse".format(computer))
while循环
猜拳游戏
import random#导入产生随机数的模块
count=1
while count<=5:
person = int(input("出拳:[1:剪刀 0:石头 2:布]"))
computer = random.randint(0, 2)
if person==1 and computer==2:
print("computer:{}\nwin".format(computer))
elif person == 0 and computer == 1:
print("computer:{}\nwin".format(computer))
elif person == 2 and computer == 0:
print("computer:{}\nwin".format(computer))
elif person==computer:
print("computer:{}\nbalance".format(computer))
else :
print("computer:{}\nfalse".format(computer))
count+=1
99乘法表
row=1
while row<=9:
col=1
while col<=row:
print("%d*%d=%d"%(col,row,col*row),end=" ")
col+=1
pass
print()
row+=1
pass
row=9
while row>=1:
col=1
while col<=row:
print("%d*%d=%d"%(col,row,col*row),end=" ")
col+=1
pass
print()
row-=1
pass
等腰直角三角形
以上连个99乘法表的写法比较类似,没多大需要注意的东西。
row=9
while row>=1:
col=1
while col<=row:
print("%d*%d=%d"%(col,row,col*row),end=" ")
col+=1
pass
print()
row-=1
pass
row=7
while row>=1:
col=1
while col<=row:
print("*",end=" ")
col+=1
pass
print()
row-=1
pass
以上是两个等腰直角三角形,这两个题与99乘法表相似,但关键是必须找到规律,题目自然就迎刃而解。
等腰三角形
row=1
while row<=10:
j=1
while j<=10-row:#此处j代表的是每一行左边的空格数
print(" ",end=' ')
j+=1
pass
k=1
while k<=2*row-1:#此处k代表的是每一行的*数
print("*",end=' ')
k+=1
pass
print()
row+=1
以上是一个等腰直角三角形,同样的关键是找到规律。
for循环
在介绍for循环前先介绍下range函数:
range 函数生成一个数据集合列表
range(起始:结束:步长:)步长不可为0,不写则步长默认为1。
以下是两个简单的for循环代码:
sum=0
for data in range(1,101):#左包含右不包含
sum+=data
print(data,end=" ")
pass
print()
print(sum)
for data in range(50,201,2):
print(data, end=" ")
for…else…
我就用的一个代码简单表示下,个人感觉用处不是太大
qi="12252"
sb="nbjrth"
for i in range(3):#此处i的值没有定义默认值为0
zh=input("输入账号:")
mm=input("输入密码:")
if zh==qi and mm==sb:
print("登录成功")
break
pass
pass
else:
print("失败")
while…else…
在python中除了有if-else,for-else还有我们的while-else
代码如下,没太大技术含量就不解释了
a=1
while a<=10:
print(a)
if a>10:
break
pass
a+=1
else:
print("nvkr")
猜数游戏
以下是random的用法
random.random():生成一个 0-1 之间的随机浮点数;
random.uniform(a, b):生成[a,b]之间的浮点数;
random.randint(a, b):生成[a,b]之间的整数;
random.randrange(a, b, step):在指定的集合[a,b)中,以 step 为基数随机取一个数;
random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表,
元组等。
import random
a=random.randint(0,100)
print(a)
times=1
while times<=3:
b=int(input("请输入猜的数:"))
if a==b:
print("恭喜你答对了")
break
if a > b:
print("猜小了")
if a < b:
print("猜大了")
pass
times+=1
if times>3:
c=input("请输入Y或者N:")
if c=="Y":
times=1
if c=="N":
break
?????此处如果将判断语句换为if c==“Y” or “y”: ; if c==“N” or “n”:就有点问题,语法上行得通,但是。。。。。
一些知识点:
序列:在python中序列就是一组按照顺序排列的值【数据集合】
在python中存在三种内置的序列类型:
字符串,列表,元组
优点:支持索引和切片的操作
特点:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端
切片:是指是指截取字符串中的其中一段内容
语法结构 :[start : end : step] step默认为1
常用的字符串的函数:capitalize() 首写字母变大写 endswith/startswith(‘x’) 是否以x结束/开始 find()检测x是否在字符串中 isalnum()判断是否是字母或数字 isalpha()判断是否是字母
isdigit()判断是否是数字 islower()判断是否是小写 join()循环取出所有值用xx去连接 lower/upper大小写转换 swapcase() 大写变小写,小写变大写 lstrip/rstrip/strip 移除左/右/两侧空白
split()切割字符串 title() 把每个单词的首字母变成大写 replace(old,new,count=None) old被换字符串,new替换字符串,count换多少个。无count表示全部替换 count()统计出现的次数
a='bvnkreg'
print(a.find('v'))
print(a.index('nk'))#检测字符串是否包含字符串
切片
b='Hello Wold'
slice[start : end : step] start<=value<end
print(b[2: :2])
print(b[2: :-1])#如果step为负数则是倒序输出
print(b[3:])
list:python中一种数据结构,是一种有序的数据集合
特点:
1:支持增删改查
2:列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
3:用[]来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
4:支持索引和切片来进行操作