python函数
Posted xcc-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数相关的知识,希望对你有一定的参考价值。
1.什么是函数?函数有什么作用?
什么是函数?
具有独立功能的代码块 组织为一个小模块,在需要的时候 调用
函数有什么作用?
提高编写的效率、代码的重用
什么是函数?
具有独立功能的代码块 组织为一个小模块,在需要的时候 调用
函数有什么作用?
提高编写的效率、代码的重用
让程序更小、模块化
2.函数有哪几种参数类型,分别有什么特点?
位置参数
形参与实参一一对应
关键字参数
为参数指定名称
默认参数
为参数指定默认值
将常见的值设置为参数的缺省值,从而简化函数的调用
可变参数
一个函数能够处理的参数个数 是不确定的
参数名前增加 一个 * 可以接收 元组
参数名前增加 两个 * 可以接收 字典
3.在函数调用时,位置参数和关键字参数的顺序
位置参数在前,关键字参数在后
4.函数的可变参数是什么?有哪几种?为什么要使用可变参数?
一个函数能够处理的参数个数是不确定的
参数名前增加 一个 * 可以接收 元组
参数名前增加 两个 * 可以接收 字典
5.将两个变量的值进行交换(a = 100, b = 200)
a.交换之后,a = 200, b = 100
b.使用你能想到的所有方法来实现
a ,b = 100,200
# 方法一:
a, b = b, a
# 方法二:
temp = a
a = b
b = temp
# 方法三:
a = a + b # a = 100 + 200
b = a - b # b = 100 + 200 - 200
a = a - b # a = 100 + 200 - 100
# 方法四:
a = a * b # a = 100 * 200
b = a // b # b = 100 * 200 // 200
a = a // b # a = 100 * 200 // 100
# 方法五:
a = a ^ b
b = a ^ b
a = a ^ b
# 方法六:
a ^= b
b ^= a
a ^= b
print(a,b)
6.编写如下程序
输入键盘数字键(0~9),返回数字键上方字符
a.定义如下字典 num_str_dic = ‘1‘: ‘!‘, ‘2‘: ‘@‘, ‘3‘: ‘#‘, ‘4‘: ‘$‘,‘5‘: ‘%‘, ‘6‘: ‘^‘, ‘7‘: ‘&‘, ‘8‘: ‘*‘, ‘9‘: ‘(‘, ‘0‘: ‘)‘
b.例如:键盘输入5,程序输出%
c.键盘输入0~9之间的数字,程序正常输出字符之后,退出程序
d.如果输入的内容不在0~9之间,则继续提示输入
输入键盘数字键(0~9),返回数字键上方字符
a.定义如下字典 num_str_dic = ‘1‘: ‘!‘, ‘2‘: ‘@‘, ‘3‘: ‘#‘, ‘4‘: ‘$‘,‘5‘: ‘%‘, ‘6‘: ‘^‘, ‘7‘: ‘&‘, ‘8‘: ‘*‘, ‘9‘: ‘(‘, ‘0‘: ‘)‘
b.例如:键盘输入5,程序输出%
c.键盘输入0~9之间的数字,程序正常输出字符之后,退出程序
d.如果输入的内容不在0~9之间,则继续提示输入
num_dict = ‘1‘: ‘!‘, ‘2‘: ‘@‘, ‘3‘: ‘#‘, ‘4‘: ‘$‘, ‘5‘: ‘%‘, ‘6‘: ‘^‘, ‘7‘: ‘&‘, ‘8‘: ‘*‘, ‘9‘: ‘(‘, ‘0‘: ‘)‘
# 方法一:
while True:
user_input = input("请输入要转换的数字键(0~9): ")
if user_input in num_dict:
values = num_dict[user_input]
print(" 上方的符号为 ".format(user_input, values))
break
else:
print("你输入的,不在0~9范围内!".format(user_input))
# 方法二:
user_input = input("请输入要转换的数字键(0~9): ")
while not num_dict.get(user_input):
print("你输入的,不在0~9范围内!".format(user_input))
user_input = input("请输入要转换的数字键(0~9): ")
print(" 上方的符号为 ".format(user_input, num_dict[user_input]))
7.编写如下程序
从键盘输入一个用户名和密码,判断是否正确,如果正确则打印登录系统成功,否则显示 用户名或密码错误。
a.定义一个函数,接收用户输入的用户名和密码作为参数
b.正确的账号,用户名为 xcc,密码为 best
从键盘输入一个用户名和密码,判断是否正确,如果正确则打印登录系统成功,否则显示 用户名或密码错误。
a.定义一个函数,接收用户输入的用户名和密码作为参数
b.正确的账号,用户名为 xcc,密码为 best
def login(name, pwd):
"""
用户登录
"""
if name == "xcc" and pwd == "88888888":
print("恭喜你,登录成功!")
else:
print("用户名或密码不正确!")
username = input("请输入你的用户名:")
password = input("请输入你的密码:")
login(username, password)
8.编写如下程序
将用户输入的所有数字相乘之后对20取余数
a.用户输入的数字个数不确定
b.用户输入的每个数字之间以逗号分隔,例如:10,1,2,13,20
b.请使用函数来实现
将用户输入的所有数字相乘之后对20取余数
a.用户输入的数字个数不确定
b.用户输入的每个数字之间以逗号分隔,例如:10,1,2,13,20
b.请使用函数来实现
def num_count(*args):
"""
将用户输入的所有数字相乘之后对20取余数
:param args:
:return:
"""
num = 1
for value in args:
num *= value
print("计算结果为:".format(num % 20))
# 方法一:
num = input("请输入需要计算的数字(以逗号分隔): ")
list_num = num.split(",") # 将用户输入的所有数字使用逗号进行分割
new_list_num = []
for item in list_num:
new_list_num.append(int(item))
num_count(*new_list_num) # 调用函数,将列表拆包
# 方法二:
num = input("请输入需要计算的数字(以逗号分隔): ")
list_num = num.split(",") # 将用户输入的所有数字使用逗号进行分割
new_list_num = []
for item in list_num:
item = item.strip()
if item.replace(".", "", 1).isdigit():
new_list_num.append(float(item))
else:
print("输入的参数有误,忽略此参数的计算!".format(item))
num_count(*new_list_num) # 调用函数,将列表拆包
9.编写如下程序
求圆的面积
a.传入一个圆的半径,将其面积返回
b.函数中的Π,可以导入import math,通过math.pi来获取(也可以直接使用3.14)
求圆的面积
a.传入一个圆的半径,将其面积返回
b.函数中的Π,可以导入import math,通过math.pi来获取(也可以直接使用3.14)
import math
def circle_area(r):
"""
计算圆的面积
:param r: 半径
:return:
"""
area = math.pi * (r ** 2) # 计算圆的面积
area = round(area, 3) # 四舍五入,保留三位小数
print("半径为的圆,面积为".format(r, area))
circle_radius_str = input("请输入圆的半径:")
circle_radius_flt = float(circle_radius_str) # 将字符串转化为浮点类型
circle_area(circle_radius_flt)
10.完成剪刀石头布游戏
提示:
a.提示用户输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
b.电脑随机出拳
c.比较胜负,显示用户胜、负还是平局
d.使用函数来封装
提示:
a.提示用户输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
b.电脑随机出拳
c.比较胜负,显示用户胜、负还是平局
d.使用函数来封装
# 方法一:
# 定义随机出拳
import random
def game(user_player, computer_player):
# 用户胜的情况:
# 用户出石头(1),电脑出剪刀(2)
# 用户出剪刀(2),电脑出布(3)
# 用户出布(3),电脑出石头(1)
if (user_player == 1 and computer_player == 2) or (user_player == 2 and computer_player == 3) or (user_player == 3 and computer_player == 1):
print("欧耶!电脑弱爆了!!!")
elif computer_player == user_player:
# 用户平局的情况:
# 用户出石头(1),电脑出石头(1)
# 用户出剪刀(2),电脑出剪刀(2)
# 用户出布(3),电脑出布(3)
print("心有灵犀,要不咋再来一盘!")
else:
print("不行,我要和你决战到天亮!")
computer = random.randint(1, 3)
user = int(input("请输入你要出的拳:\n石头(1)/剪刀(2)/布(3) "))
game(user, computer)
# 方法二:
# 定义随机出拳
import random
def game(user_player, computer_player):
# 用户胜的情况:
# 用户出石头(1),电脑出剪刀(2)
# 用户出剪刀(2),电脑出布(3)
# 用户出布(3),电脑出石头(1)
user_win_tup = ((1, 2), (2, 3), (3, 1))
if (user_player, computer_player) in user_win_tup:
print("欧耶!电脑弱爆了!!!")
elif computer_player == user_player:
print("心有灵犀,要不咋再来一盘!")
else:
print("不行,我要和你决战到天亮!")
computer = random.randint(1, 3)
user = int(input("请输入你要出的拳:\n石头(1)/剪刀(2)/布(3) "))
game(user, computer)
以上是关于python函数的主要内容,如果未能解决你的问题,请参考以下文章