python下载官网:Download Python | Python.org
pycharm下载官网:https://www.jetbrains.com/pycharm/download/#section=windows
- 退出pyhon:exit(),ctrl+Z
- # 单行注释
- ''' 多行注释 '''
- ctrl+/ 多行注释
python查看关键字:cmd中查看,命令为:
import keyworld
keyword.kwlist
格式化输出:
age=19
print("我今年%d岁啦"%age)
字符串格式化输出:
print("我说%s,你说%s"%("hello","hi"))
符号分割:
print("www","baidu","com",sep=".")
条件判断语句格式:
score=90
if score>=91 and score<=100:
print("成绩为A")
elif score>=80 and score<91:
print("成绩为B")
生成随机数:3-6之间
import random
x=random.randint(3,6)
练习:简单的石头剪刀布程序
代码如下,
import random
user1=int(input("输入:剪刀(0)石头(1)布(2): "))
user2=random.randint(0,2)
if user2==user1:
print("随机生成数字为%d"%user2)
print("平局")
elif user1-user2==1 or user2-user1==2:
print("随机生成数字为%d" % user2)
print("恭喜,你赢啦")
elif user2-user1==1 or user1-user2==2:
print("随机生成数字为%d" % user2)
print("哈哈,你输啦")
循环控制语句:
- \t表示间隔为tab缩进
- \n换行
- len()返回长度
for i in range(1,10,2):
print(i)#i为起点,步进为2
a=["aa","bb","cc","dd"]
for i in range(len(a)):
print(i,a[i],end="\t")
#遍历数组
while语句可以和else搭配使用
i=0
sum=0
while i<=100:
sum=sum+i
i += 1#i必须有增长才能使循环结束
print(sum)
- pass是空语句,一般做占位语句,不做任何事情。
- continue:结束本次循环
- break:结束整个while循环
练习:输出九九乘法表
for i in range(10):
for j in range(1,i+1):
print("%d*%d=%d"%(i,j,i*j),end="\t")
if i==j:
print("\n")#for语句
- 字符串:单引号 ' '
- 句子:双引号 " "
- 段落:三引号 """ """
str="I'm a student"
str1='I\'m a student'
值得注意的是
- \"转义字符 len(string) 返回字符串长度
- isalnum() 如果字符串所有字符都是数字或字母返回true
- isalpha() 如果所有字符都是字母返回true
- isdigit() 如果所有字符都是数字返回true
- isnumeric() 字符只包含数字字符则返回true
- join(seq) 以指定字符串作为新的分隔符,将seq中所有元素(的字符串表示)合并为新的字符串显示。
- lstrip() /rstrip() 截掉字符串左/右边的空格或指定字符
- split(str="",num=string.count(str))num=string.count(str)) 以str为分隔符截取字符串,如果num有指定值,则只截取num+1个子字符串。
LIST(列表)
格式:LIST=[ ] list中可存储混合类型
增加
namelist=["rose","lisa","jisoo"]
#增: [append]
print("——————增加前——————")
for name in namelist:
print(name,end="\t")
nametemp=input("输入添加人员:")
namelist.append(nametemp)#末尾追加元素
print("——————增加后——————")
for name in namelist:
print(name,end="\t")
#【extend】
list1=["rose","lisa","jisoo"]
list2=["lalisa","rosie"]
list1.extend(list2)#将列表2的每个元素逐一追加到列表1
for name in list1:
print(name,end="\t")
# [insert]指定下标位置插入
alist=["rose","lisa","jisoo"]
alist.insert(2,"jennie")#第一个表示元素下标,第二个表示元素对象
for name in alist:
print(name,end="\t")
删除和改:
# 【del】 【pop】 【remove】
alist=["hello","你好","我是","hello"]#列表内容可重复
#del alist[2]#指定位置删除元素
#alist.pop()#默认删除最后一个
#alist.remove("你好")#删除指定内容,仅限第一个
alist[2]="bye"#修改指定元素内容
print("\n")
for i in alist:
print(i,end="\t")
查找
#查找 【in,not in】
numlist=["1","2","3","5"]
num1=input("输入要查找的数字:")
if num1 in numlist:
print("找到了")
else:
print("没找到")
print(numlist.index("1",0,3))#查找指定下标范围的元素,并返回对应数据的下标,左闭右开[0,3)
print(numlist.count("1"))#统计某个元素出现几次
numlist.reverse()#反转排序
numlist.sort()#升序排序
numlist.sort(reverse=True)#降序排序
练习:三间办公室随机分配员工
import random
offices=[[],[],[]]
names=["a","b","c","d","e","f"]
for name in names:
index=random.randint(0,2)
offices[index].append(name)
i=0
while i<3:
for office in offices:
print("办公室%d人数为:%d"%(i+1,len(offices[i])))
print(offices[i])
i=i+1
练习:产品列表如下图,用户输入编号选购加入购物车,输入q退出。
products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["book",60]]
print("-----商品列表-----\n")
for i in range(5):
j=0
print("%d %s %s"%(i,products[i][j],products[i][j+1]))
shop=[]
for i in range(4):
num=input("您需要购买什么,选择编号0-4:")
if num=="q":
print(shop)
break;
num1=int(num)#num被转化为int类型
shop.append(products[num1])
元组 Tuple
- 与列表类似,不同之处在于元组内容不能修改,写在小括号里面,元素间逗号隔开。
- 元组的元素不可变,但是包含可变对象,比如list 注意:定义只有一个元素的元组必须加逗号。
'''
tup1=()#创建空元组
tup2=(12,)
print(type(tup1))
atup=("a","b","c","d","e","f")
print(atup[0])#第一个
print(atup[-1])#最后一个元素
print(atup[2:5])#左闭右开
#增加 两个元组连接后赋予新的元组
tup1=(1,2,3)
tup2=(4,)
tup=tup2+tup1
print(tup)
'''
#删除
tup1=(1,2,3)
print(tup1)
del tup1#只能删除整个元组
字典 dict
- 字典是无序对象的集合,使用键(key-value)存储,查找快
- 键(key)必须使用不可变类型。同一字典中,key必须是唯一的。
'''
info={"name":"rosie","age":20}
#字典的访问
print(info["name"])
#访问了不存在的键
#print(info["gender"])#直接访问会报错
print(info.get("female"))#使用get方法没找到对应的键,默认返回:none
print(info.get("female","没有该键"))#可以设定默认返回值
#增
info={"name":"rosie","age":20}
newID=input("请输入学号:")
info["id"]=newID
print(info)
#删 [del] 删除后访问该键会报错
del info["age"]
print(info)
#clear 清空后访问不会报错
info.clear()
print(info)
#改
info={"name":"rosie","age":20}
info["name"]="lisa"
print(info)
#查
print(info.keys()) #得到所有的键(列表) dict_keys(['name', 'age']
print(info.values()) #得到所有的值 dict_values(['lisa', 20])
print(info.items()) #得到所有的项(列表),每个键值对是一个元组。dict_items([('name', 'lisa'), ('age', 20)])
'''
#遍历所有的键
info={"name":"rosie","age":20}
for key in info.keys():
print(key)
#遍历所有的值
for value in info.values():
print(value)
#遍历所有的键值对
for key,value in info.items():#item列表中为元组,默认元组中第一个赋给key
print(key,value)
枚举返回列表或元素的下标与元素
#枚举
mylist=[1,3,6,3,4,5]
for i,x in enumerate(mylist):
print(i,x)#可以打印出下标和元素
集合{}
- set(集合) 和dict类似,也是一组key的集合,但是不存储value,由于key不能重复,所以集合中没有重复的key
- set ([]) 是无序的,重复元素会被过滤.
s=set([1,1,2,4])
print(s)
#输出{1,2,4}
小结
是否有序 | 是否可变类型 | |
列表 [] | 有序 | 可变类型 |
元组() | 有序 | 不可变类型 |
字典 {} | 无序 | key不可变,val可变 |
集合([]) | 无序 | 可变类型(不重复) |