f = open("司马光砸缸", mode="r+", encoding="utf-8")
f.seek(12)
f.truncate() # 截断到15
f.flush()
f.close()
# 约
# while 1:
#     print("拿出手机")
#     print('打开陌陌')
#     print("找一个心仪的小姐姐")
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")
#
# print("上班")

# 先 计划一下. 约应该怎么约..然后在需要的时候把这个事儿拿出来做一次.
# 可以使用函数来定义一个动作.
# define 定义
# def yue():
#     # 描述你的动作
#     print("拿出手机")
#     print('打开陌陌')
#     print("找一个心仪的小姐姐")
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")

# 调用函数
# yue()
# print("上班")
# print("上班")
# print("上班")
# yue()

# print(yue) # <function yue at 0x00000000005B2E18>

# 继续约
# def yue():
#     # 描述你的动作
#     print("拿出手机")
#     print('打开陌陌')
#     print("找一个心仪的小姐姐")
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")
#     return "小姐姐" # 只能返回小姐姐, 其他的都不会执行
#     return "大妈"
#     return "流浪汉"
#
#     # 得到一个结果
#     # return "小姐姐", "大妈", "流浪汉" # 同时返回多个结果, 返回的是元组
#
# ret = yue() # 这里调用的函数. 返回值就返回给这里
#
# print(ret)

# 函数的返回值问题:
#   函数可以有返回值, 也可以没有返回值
#   函数如果没有返回值. 在函数最后执行完毕的时候会默认返回None
#   在函数中只写了return, 但是没有写返回值
#   在函数中写了return, return None 返回的结果还是None
#   在函数中写了return 值,  返回一个结果.
#   在函数中写return 值1, 值2, 值3... 返回多个结果. 多个结果会以元组的形式返回

# def yue():
#     # 描述你的动作
#     print("拿出手机")
#     print('打开陌陌')
#     print("找一个心仪的小姐姐")
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")
#
# ret = yue() # 没有返回值None
# print(ret)

# def yue():
#     # 描述你的动作
#     print("拿出手机")
#     print('打开陌陌')
#     print("找一个心仪的小姐姐")
#     return None  # 返回的是None, 后面的就不再执行了
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")
#
# ret = yue()
# print(ret)

# 练习:写一个函数, 在函数内部. 要求用户输入两个数. 返回大的那个数
# def func(): # fn func
#     a = int(input("请输入第一个数:"))
#     b = int(input("请输入第二个数:"))
#     # if a > b:
#     #     return a
#     # else:
#     #     return b
#     # 三目运算
#     c = a if a > b else b  # c装的是a, b中大数
#     # 值1 if 条件 else 值2
#     return c
#
# ret = func()
# print(ret)
# def chi():
#     print('池什么')
#     print("酸菜鱼")
#
# chi() # 小括号表示调用

# def yue(tools): # 形参
#     # 描述你的动作
#     print("拿出手机")
#     print('打开%s' % tools)
#     print("找一个心仪的小姐姐")
#     print('有没有时间啊, 聊聊人生')
#     print("一起出来吃饭唱歌, 看电影")
#
# yue("微信")  # 实参
# yue("探探")  # 实参
# yue("陌陌")  # 实参

# 需求:根据你指定的APP去约
# 在括号内写的东西叫参数
# 在函数声明的位置. 写的参数叫形参
# 在函数调用的地方. 写的参数叫实参
# 把实参传递给形参的过程叫做传参

# 在函数调用的时候. 必须保证所有的形参都有值
# yue() #  错误的
# 1. 关于实参:
#      1. 位置参数,  按照位置给形参传递信息
#      2. 关键字参数,  按照形参声明的变量名进行传递
#      3. 混合参数. 位置+关键字(规定)

# 2. 关于形参(2):
#       1. 位置参数, 按照位置声明的变量
#       2. 默认值参数
#       3. 当默认值和位置参数同时存在的时候. 规定: 默认值必须写在后面
#       4. 动态传参(明天)

# 所有带等号的. 都上后面去

# def chi(zhushi, fushi, tang, tiandian):
#     print("主食:%s" % zhushi)
#     print("副食:%s" % fushi)
#     print("汤:%s" % tang)
#     print("甜点:%s" % tiandian)
#
# # chi("锅包肉", "胡辣汤", "哈根达斯冰激凌火锅","大米饭")
# # chi(fushi="大米饭", zhushi="锅包肉", tiandian="哈根达斯", tang="酸辣汤")
# # chi("大米饭", "锅包肉", tiandian="哈根达斯", "酸辣汤") # 错误的. 关键字必须在位置参数后面
# chi("大米饭", "锅包肉", "酸辣汤", tiandian="哈根达斯")
# chi("大米饭", "锅包肉", tiandian="哈根达斯", tang="酸辣汤")

open() # 调用函数

def regist(name, age, edu, gender="男"): # 默认情况下. gender = 男
    print("name:", name)
    print("age:", age)
    print("edu:", edu)
    print("gender:", gender)

regist("赵玉冰", 19, "中专") # 默认值当不传递参数的时候起作用的
regist("韩志远", 25, "本科")
regist("董忠浩", 25, "高中")

regist("赵玉冰", 19, "中专") # 默认值当不传递参数的时候起作用的
regist("韩志远", 25, "本科")
regist("董忠浩", 25, "高中")

regist("赵玉冰", 19, "中专") # 默认值当不传递参数的时候起作用的
regist("韩志远", 25, "本科")
regist("董忠浩", 25, "高中")

regist("赵玉冰", 19, "中专") # 默认值当不传递参数的时候起作用的
regist("韩志远", 25, "本科")
regist("董忠浩", 25, "高中")

regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")
regist("刘力", 21, "本科", "女")

open("路径", mode="w", encoding='utf-8')
05-11 10:54