Python数据类型
- Number类型:int, float,bool,complex
- string类型(py中不能字符串连接Number需要使用str()函数)
- list []:(append()在最后添加,insert指定位置添加,类似JAVA中的List可以存储任意类型的对象)
- 元组():元组一旦定义无法删除,添加,修改(类似数组)
- 字典类型:类似JAVA中map属于键值对,键值对的键只能是Number,String,tuple类型
添加:dict[键名]=键值
修改:dict[键名]=修改值
删除:del dict[键名]
获取所有键:dict.keys()得到的还是列表类型
获取所有值:dict.values() - Set类型:集合(set)是一个无序的不重复元素序列
创建:1,{} 2,set(value)要创建一个新的集合必须使用set()函数,{}会被当作空的字典
添加:s.add(value),s.update(value):此可以添加任意类型
删除:s.remove(value),s.discard(value):这种删除不存在的元素不会报错
计算长度:len(s)
清空set:s.clear()
判断是否存在: x in s
运算符,循环结构
- 除法(结果为float):/
- 整除://
- 逻辑与:and
- 逻辑或:or
- if语句(以换行控制结构)
if wan > 1000 and num == 1:
print('正确')
elif num == 0:
print('错误')
else:
print('不知道')
- for语句
for i in range(开始index,结束index,递增大小):
print('这是'+str(i))
# 列表类型遍历
list = ['张三', 'lisi']
for item in list:
print(item)
函数
- def +方法名(参数)
def setName():
pass
参数中的不定参数*args代表的是元组,**args代表的是字典
若有返回值可以用return直接返回,如果有多个返回值也可以返回会自动包装成元组
小案例
类似剪刀石头布
import random
checkItem = ('棒子', '老虎', '鸡', '虫子')
dict = {}
name = ' '
score = 0
def c_Check():
return random.randint(0, 3)
pass
def p_Check():
flag = True
for i in range(4):
print('%d.%s ' % (i + 1, checkItem[i]), end="")
while (flag):
check = int(input('请选择你想要的选项:'))
if (check > 4 or check < 1):
print('您选择的选项不合法重新输入')
else:
flag = False
return check - 1
pass
def result():
global score
c = c_Check()
p = p_Check()
cha = p - c
if cha == -1 or cha == 3:
print('-------------')
print('|电脑选择%s|' % checkItem[c])
print('|您的选择%s|' % checkItem[p])
print('|您赢了 |')
print('-------------')
score += 2
elif cha == 1 or cha == -3:
print('-------------')
print('|电脑选择%s|' % checkItem[c])
print('|您的选择%s|' % checkItem[p])
print('|您输了 |')
print('-------------')
score -= 1
else:
print('-------------')
print('|电脑选择%s|' % checkItem[c])
print('|您的选择%s|' % checkItem[p])
print('|打平了 |')
print('-------------')
def user():
print("========欢迎来到实力至上主义的教室=========")
global name
name = input("请输入您的用户名:")
pass
def saveUserScore():
dict[name] = score
pass
def getRankList():
keyList = dict.keys()
print("*******排行榜********")
for key in keyList:
print(" %s : %d" % (key, dict[key]))
def myMian():
f = True
user()
result()
while f:
res = input("选项(数字):1,继续 2,结束 3,查看排行榜")
if res == '2':
f = False
print("再见啦")
elif res == '1':
result()
else:
saveUserScore()
getRankList()
myMian()
易错点
在python中定义的全局变量,如在函数体中进行修改必须要先加global声明一下在进行修改,否在外部取不到全局变量修改的值。
作业
1.打印一个倒三角
num = 100
for i in range(0, num, 2):
for j in range((num - i) // 2):
print(' ', end="")
for j in range(i + 1):
print('*', end="")
print()
for i in range(num, -1, -2):
for j in range((num - i) // 2):
print(' ', end="")
for j in range(i + 1):
print('*', end="")
print()
C:\Users\LAB\AppData\Local\Programs\Python\Python37\python.exe C:/Users/LAB/Desktop/day1/work.py
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*********************
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*
2 找素数
num = 200
arr = [0]*(num+1)
def getPrime(num):
arr[2] = 0
for i in range(2, num):
if arr[i] == 0:
temp = 2
while i * temp < num:
arr[i * temp] = 1
temp += 1
getPrime(num)
for i in range(2, num):
if arr[i] == 0:
print('%d '%i, end="")
C:\Users\LAB\AppData\Local\Programs\Python\Python37\python.exe C:/Users/LAB/Desktop/day1/prime.py
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
Process finished with exit code 0
3,冒泡排序
arr = [1, 1, 23, 43, 67, 3, 5]
num = 7
def sort():
for i in range(0, num - 1):
for j in range(0, num - 1 - i):
if arr[j] > arr[j + 1]:
temp = arr[j]
arr[j] = arr[j + 1]
arr[j+1] = temp
sort()
print(arr)
C:\Users\LAB\AppData\Local\Programs\Python\Python37\python.exe C:/Users/LAB/Desktop/day1/sort.py
[1, 1, 3, 5, 23, 43, 67]
Process finished with exit code 0
4.水仙花数
import math
def isNum(i):
t = i
sum = 0
while t > 0:
value = t % 10
sum += pow(value, 3)
t //= 10
return sum==i
pass
for i in range(1, 1000):
if isNum(i):
print(i)
C:\Users\LAB\AppData\Local\Programs\Python\Python37\python.exe C:/Users/LAB/Desktop/day1/水仙花.py
1
153
370
371
407
Process finished with exit code 0