py实训第一天

Python数据类型

  1. Number类型:int, float,bool,complex
  2. string类型(py中不能字符串连接Number需要使用str()函数)
  3. list []:(append()在最后添加,insert指定位置添加,类似JAVA中的List可以存储任意类型的对象)
  4. 元组():元组一旦定义无法删除,添加,修改(类似数组)
  5. 字典类型:类似JAVA中map属于键值对,键值对的键只能是Number,String,tuple类型
    添加:dict[键名]=键值
    修改:dict[键名]=修改值
    删除:del dict[键名]
    获取所有键:dict.keys()得到的还是列表类型
    获取所有值:dict.values()
  6. 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

运算符,循环结构

  1. 除法(结果为float):/
  2. 整除://
  3. 逻辑与:and
  4. 逻辑或:or
  5. if语句(以换行控制结构)
if wan > 1000 and num == 1:
    print('正确')
elif num == 0:
    print('错误')
else:
    print('不知道')

  1. for语句
for i in range(开始index,结束index,递增大小):
    print('这是'+str(i))
# 列表类型遍历
list = ['张三', 'lisi']
for item in list:
    print(item)

函数

  1. 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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值