def abs(num,t=False):
for i in num:#遍历num(此时num为str)
if i == '.':
num = float(num)#当num含有'.'时 说明num为float
t = True
if t != True:#当遍历完后t仍为False则为int
num = int(num)
if num >= 0.0:#当num>=0时 则直接返回num
return num
else:#若不是 则返回0-num(就是-num)
return 0 - num
num = input()
print(abs(num))
使用 for 循环,并定义一个 num=1 的变量,根据这个变量一个一个阶乘
def cal_one(n):
if n == 1:return 1 # 如果n是1的话,直接返回1即可,1的阶乘还是1
elif n ==0:return 0 # 同理,直接返回0
num = 1
for i in list(range(1,n+1)):
num *= i
return num
print(cal_one(7))
答案:
可以使用Python内置的abs()函数来求一个数的绝对值,并保持输出结果与输入数据的类型相同。例如:
num = -5
abs_num = abs(num)
print(type(num)) # <class 'int'>
print(type(abs_num)) # <class 'int'>
num = -3.14
abs_num = abs(num)
print(type(num)) # <class 'float'>
print(type(abs_num)) # <class 'float'>
输出结果分别为:
<class 'int'>
<class 'int'>
<class 'float'>
<class 'float'>
说明输入数据的类型和输出结果的类型相同。
如果要自己实现绝对值函数,可以使用条件表达式,如下所示:
def my_abs(x):
return x if x >= 0 else -x
num = -5
abs_num = my_abs(num)
print(type(num)) # <class 'int'>
print(type(abs_num)) # <class 'int'>
num = -3.14
abs_num = my_abs(num)
print(type(num)) # <class 'float'>
print(type(abs_num)) # <class 'float'>
参考资料中介绍了Python中的几种可变类型,但并没有与题目直接相关的答案。关于Python的开源框架,参考资料中提供了七种框架的优缺点,供读者了解参考。