基础输入输出
x = 209
x = "tom"
y = "jerry"
z = "tom"
a = 50
b = 50
#x的值被覆盖
print(x)
print(y)
print(z)
#输出a和b的值
print(a)
print(b)
#输出a和b的地址,可以发现共享引用
print("x的地址:",id(x))
print("y的地址:",id(y))
print("z的地址:",id(z))
print("a的地址:",id(a))
print("b的地址:",id(b))
#用==号判断值是否相等,用is判断地址是否相等
print(a == b)
print(a is b)
mike = 8000
peter = 8000
print("mike的地址:",id(mike))
print("peter的地址:",id(peter))
print(mike is peter)
url = "www.baidu.com"
link = "www.baidu.com"
print(url is link)
#用type检查数据类型
print(type(link))
#定义列表
l = [1,3,9,2,8]
print(l.sort())
print(l.sort() is None,l.sort() == None)
print(999999999999999999999999*1000000000000000000000000000000000000000000)
#输出二进制
print(0b1101)
#输出八进制
print(0o177)
#输出十六进制
print(0x9ff)
#计算10的2次方使用**
print(10**2)
#整除使用//
print(21/7)
print(21//7)
#int型转换整形,二进制
print(int("30"))
print(int("1101",2))
print(int("177",8))
print(int("9ff",16))
print(float("3.14") * 2)
#二进制转10进制
print(bin(10))#转二进制
print(oct(10))#转八进制
print(hex(10))#转十六进制
import math
print("以下为math函数部分")
ans = 22/7
print(math.floor(ans))
print(math.floor(3.9999))
print(math.floor(-3.14))#往负数(下)方向截取
print(math.trunc(ans))
print(math.trunc(3.9999))
print(math.trunc(-3.14))#往0方向截取
print(math.ceil(3.14))#往上取整
print(round(3.14),round(3.9))#四舍五入取整
print(math.pi)
print(pow(2,4))#pow计算2的4次方
print(math.sqrt(144))#sqrt开平方
print(int(math.sqrt(144)))#sqrt开平方并且取整
print('5'+"8")
print(0.1+0.1+0.1-0.3)
精确计算
import decimal
ans = 0.1+0.1+0.1-0.3
print("0.1+0.1+0.1-0.3 = ",end="");
print(ans)
ans = decimal.Decimal('0.1')+decimal.Decimal('0.1')+decimal.Decimal('0.1')-decimal.Decimal('0.3')
print("精确计算后得:",end="");
print(ans)
数值转换与计算
#数字转换与计算
print(10+int("30"))
print(10+int("1101", 2))
print(int("177", 8))
print(int("9ff", 16))
print("3.14"*2)
print(float("3.14")*2)
#True等于1,False等于0
print(3 + True)
#将括号里面的东西转换成True和False
#转换范围就比较广,0为False,非0为True
print(bool(1))
print(bool(0))
print(bool(-1))
print(bool("abc"))
print(bool([]))#空列表为False
print(bool(''))#空字符串为False
#真值测试
#False等于0,None,'',(),[],{}
列表基础
#列表基础
scores = [80,90,88,90.3]
print(type(scores))
print("输出成绩:",scores)
#从0开始不包括2
print("输出成绩:",scores[0:2])
scores.append(78)
print("增加的成绩:", scores);
y = [1,2,3,['tom','jerry']]
print("可嵌套任意序列:",y)
scores[0]=85.2
print("支持原位改变:",scores)
x = [1,2,3]
x[0] = "tom"
print(x)
列表提高
#列表提高
x = [1,2,3]
name = list('油品课堂')#返回一个列表
print(name)
print(range(5))#生成一个序列
print(list(range(5)))
names = ['tom','jerry','mike','peter','john']
scores = [99,88,76.3,90.5,77]
#判断mike是否在names里面
print("mike" in names)
print(88 in scores)
print(101 in scores)
#使用not in取反
print(101 not in scores)
print('mike' not in names)
x = list(range(4))
y = [98,99,100]
print(x + y)#使用加号连接
print(x)#但x本身没有改变
print([3] * 4)#使3重复4次
print(names[-1])#访问最后一个元素
cities = ['北京','上海','广州','深圳','天津']
print(cities[0:3])#最后一个下标不包含在内
print(cities[4])
print(cities[-1])
print(cities[-5:-2])
print(cities[:3])#默认从0开始
print(cities[0:])#从0到最后一项
print(cities[:])#从开头到结尾
print(cities[::2])#每隔2个下标取一个值
print(len(cities))#获取序列长度
print(max(scores))#获取最大值
print(min(scores))#获取最小值
print(sum(scores))#求和
################################################################################统计部分
#index方法(不叫函数)
print(cities.index('上海'))#取字符的位置
print(cities.count('天津'))#统计元素出现的次数
print(list('11251125123').count('1'))#统计1出现了几次
################################################################################统计部分
可变序列及列表通用操作
#可变序列及列表通用操作
#/******************************************替换操作******
s = list(range(1,11))
print(s)
s[0] = 99
print(s)
#前3个值换成100
s[:3] = [98,99,100]
print(s)
#多出来的值会补上
s[:3] = [98,99,100,101,102]
print(s)
#把前五个值换成了一个值
s[:5] = [999]
print(s)
#带步长的值
l = list(range(1,11))
print(l)
#必须得给5个元素的值,奇数不行
#l[::2] = [99]#隔两个赋一个值,全部赋值共6个,但是没有第六个
l[::2] = [99,99,99,99,99]#数目相匹配
print(l)
#/**********************************************删除操作*******
#删除序列元素del s[i],del s[i:j],del s[i:j:k]
del l[0]
print(l)
#删除指定范围
del l[:3]
print(l)
#加步长删除
del l[::2]
print(l)
#del l[:2] == l[:2] = []
l[:2] = []#等同于删除
print(l)
#只删除一个值,不管在哪个位置s.remove(x)
l = list(range(1,11))
l.remove(2)
print(l)
x = [1,2,3,2,4,2,5,2,6,2]
print(x)
x.remove(2)
print(x)
x.clear()#清空元素
#/*****************************追加部分**********************
print(x)
#追加元素s.append(x),append只把括号内的值当作一个值来追加##############
x.append(5)
x.append(6)
print(x)
x.append([7,8])
print(x)
#追加序列,追加序列,追加序列s.extend(x)################################
x.extend([9,10,11])
print(x)
#在特定位置插入元素s.insert(i,x)
x.insert(0,99)#在第一个位置插入99
x.insert(3,100)#在第3个位置插入100,等同于x[3:3] = [100]
#检索并删除特定元素s.pop([i])
print(x.pop())#删除最后一个元素
print(x)
print(x.pop())
print(x)
print(x.pop())
print(x)
result = x.pop()
print(result)
#反转序列
print(x)
x.reverse()
print(x)
y = x.reverse()
print(y)#reverse没有返回值
#/*************************************复制序列操作*************
l = list(range(1,11))
print(l)
s = l
s[0] = 99
print(s)
print(l)#出现了共享引用
l[-1] = 101
print(s)
print(l)
l = list(range(1,11))
s = l[:]#把l的结果内容拿出来复制给s
s[0] = 99
print(s)
print(l)
x = l.copy()#复制函数
print(x)
print(l)
x[-1] = 101
print(x)
print(l)
#/***************************************排序操作************************
#排序函数l.sort()
scores = [90,88,72.3,81,65]
scores.sort()
print(scores)
scores.reverse()
print(scores)
people = ['tom','jerry','mike','peter','john']
people.sort()#按照第一个字母排列
print(people)
people.sort(key=lambda x:x[-1])
print(people)#按照最后一个字母排列
scores.sort()
print(scores)
scores.sort(reverse=True)#从大到小排序
print(scores)
print("带返回结果的排序方法",sorted(scores))
print("带返回结果的排序方法",sorted(people,key=lambda n:n[1]))
猜数字游戏
while True:
txt = input("请输入一个数字:")
if txt == 'stop':
break
elif not txt.isdigit():
print("您输入的不是数字!")
else:
num = int(txt)
if num < 20:
print("您输入的数字太小了")
elif num > 20:
print("您输入的数字太大了")
else:
print("您猜对了!")
网友评论