练习01_基本运算与程序结构

发布时间 2023-03-28 09:14:17作者: dogfaraway

通过之前的练习,我们掌握了Python的安装和环境配置,我们尝试了anaconda的jupyter notebook和百度飞桨PP AI Studio。两个都是非常方便的编程平台,使用者可以根据自己的要求和客观条件进行合理选择。

jupyter notebook的源代码文件默认保存在系统盘的User目录里,百度AIstudio的源代码文件需要保存后导出到本地。注意jupyter notebook源代码文件的扩展名与python脚本源代码文件的扩展名有何区别!。

  1. 系统工作目录的查看
  ### 提示:
  ### 以下为系统工作目录的查看与更改方法
  
  import os ##导入os模块  
  os.getcwd() ##查看当前工作目录
  ################################################
  os.chdir('d:/python_code') ##在windows系统中改变工作目录  
  os.chdir('/users/python_code') ## 在苹果系统中改变工作目录

python基本运算

  1. 把python当作一个计算器
# 把python当作一个计算器
# 尝试运行以下代码
a = 2 ## 赋值
a*2 ## 乘法
a**2 ## 幂
  1. 赋值
# 依次赋值,传统的复制方法
a = 2
b = 3
c = 4

# 多重赋值,很多工程源代码都这样写,有什么好处?
a,b,c = 2,3,4

  1. 字符串
# 对字符串的灵活操作
s = 'I like python'
s + 'very much' ## ‘+’用于拼接字符串
s.split(' ') ## 以空格为分隔,得到列表['I','like','python']
  1. 判断与循环
    需要特别指出的是,Python一般不用花括号{},也没有end语句,它是用缩进对齐作为语句的层次标记。同一层次的缩进量要一一对应,否则报错。

图片

import random  # 引入随机数模块random
 
player = int(input("请输入(0-剪刀  1-石头 2-布)"))  # 玩家输入
computer = random.randint(0,2)   # 0-2之间随机产生一个数作为电脑的输入
 
if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
    print("恭喜玩家你赢了")  # 加上小括号
elif (player == 0 and computer == 0) or (player == 1 and computer == 1) or (player == 2 and computer == 2):
    print("平局")
else:
    print("很可惜,你输了")
  1. while循环
# 用while循环设计一个从1+2+...+100的算法algorithm
# 验证以下代码,有什么问题,如何修改正确?
s,k = 0,0
while k<101:
  k = k + 1
  s = s + k
  print(s)
  1. for循环
# 用for循环设计一个从1+2+...+100的算法
# 验证以下代码,有什么问题,如何修改正确?
s = 0
for k in range(101):
  s = s + k
 print(s)
  1. 判断
    in是一个非常方便、而且非常直观的语法,用来判断一个元素是否在列表/元组中,range用来生成连续的序列,一般语法为range(a, b, c),表示以a为首项、c为公差且不超过b-1的等差数列,如:
s = 0
if s in range(4):
  print('s在0, 1, 2, 3中') 
if s not in range(1, 4, 1):
  print('s不在1, 2, 3中') 
  1. 自定义函数def
# 定义一个f(x)=x+2的函数
def add2(x):
    return x+2
add2(11) #输出结果为?
  1. 函数返回值可以是各种形式,比如返回列表,甚至返回多个值
    测试一下add2函数
def add2(x = 0, y = 0): #定义函数,同时定义参数的默认值
    return [x+2, y+2] #返回值是一个列表

测试一下add3函数,当x=1,y=6

def add3(x, y):
    return x+3, y+3 #双重返回
  1. 用lambda对简单的功能定义“行内函数”,这有点像Matlab中的“匿名函数”
    测试一下函数f和函数g
f = lambda x : x + 2 #定义函数f(x)=x+2
g = lambda x, y: x + y #定义函数g(x,y)=x+y