# 1. 斐波那契
import math
import random
import numpy as np
def fib_recur(n):
if n in (0, 1):
return n
return fib_recur(n - 1) + fib_recur(n - 2)
m = 3
n = 10
l = []
for i in range(0, n):
l.append(fib_recur(i))
print(l)
# 2.输出N的多次方
def f_N(x, n):
return np.power(x, n)
print(f_N(n, 0), f_N(n, 1), f_N(n, 2), f_N(n, 3), f_N(n, 4), f_N(n, 5))
# 3. M与N的数学运算,和,乘积,幂,余数,较大值
# m = eval(input())
# n = eval(input())
print(m + n, m * n, np.power(m, n), m / n, max(m, n))
# 4. 天数计算
# str = input()
str = '2000,2'
y, m = str.split(",")
y = int(y)
m = int(m)
list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if y % 400 == 0 or y % 4 == 0 and y % 100 != 0:
list[1] = 29
print(list[m - 1])
# 5.对指定r计算圆的面积
def getCircleArea(r):
return 2 * np.pi * r
n = int(input())
for i in range(n):
r = float(input())
print(getCircleArea(r))
# 6. 计算三维空间某点距离原点的欧式距离
def distance(x, y, z):
return np.sqrt(x * x + y * y + z * z)
x, y, z = input().split(",")
d = distance(float(x), float(y), float(z))
print(d)
# 7. 输入一个正整数,判断是否位质数
def isZhi(n):
if (n == 1 or n == 2):
return True
for i in range(2, math.sqrt(n)):
if (n % i == 0):
return False
return False
flag = isZhi(n)
print(str(flag))
# 生成随机密码
np.random.seed(0x1010)
str = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ'
for i in range(10):
random_str = ''.join(random.sample(str, 10))
print(random_str)
# 要求密码首字母不同,去掉首字母再去生成下一个密码
str = str.replace(random_str.__getitem__(0), '')
# 不同数字之和
N = input()
setN = set(list(N))
print(sum([int(i) for i in setN]))
看到题主提到了天数计算出错较多,写了一下天数计算的,
其实天数计算题目难度是不难的,但是需要注意一些细节,这些细节处理好,问题是不大的:
(1) 一月、三月、五月、七月、八月、十月和十二月有31天;其他月份都有30天。
(2) 二月在非闰年有28天,闰年有29天。
(3) 要判断是否是闰年(年份%4 == 0和年份%100!=0)| |(年%400==0)
程序实现如下:
# 月份天数初始化列表,索引代表月份
# 0 占位用的
month_days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
def is_leap(year):
"""返回 True 闰年, False 非闰年."""
# 能被4整除且(不能被100整除或能被400整除)
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def days_in_month(year, month):
"""返回当年当月天数"""
if not 1 <= month <= 12:
return '无效月份 Month'
if month == 2 and is_leap(year):
return 29
# 返回month索引值对应的月天数
return month_days[month]
# 示例
year, month = map(int, input().split()) #输入两个整数
print(days_in_month(year, month))
如有帮助,还请采纳!谢谢!
def fib(n):
if n == 0:
return 0
elif n == 1 or n == 2:
return 1
else:
return fib(n-2) + fib(n-1)
n = int(input(''))
l = []
for i in range(n+1):
l.append(fib(i))
for j in range(len(l)):
print(l[j], end='')
if j != len(l)-1:
print(',', end='')
print()
运行结果:
a = input()
try:
a = int(a)
except:
a = float(a)
n1 = a**0
n2 = a**1
n3 = a**2
n4 = a**3
n5 = a**4
n6 = a**5
print(n1, n2, n3, n4, n5, n6)
运行结果:
def Operation(m, n):
print(m + n)
print(m * n)
print(m ** n)
print(m % n)
if m > n:
print(m)
else:
print(n)
m = input()
n = int(input())
try:
m = int(m)
except:
m = float(m)
Operation(m, n)
运行结果:
import calendar
data = input().split(',')
year = int(data[0])
month = int(data[1])
if (month == 1) or (month == 3) or (month == 5) or (month == 7) or (month == 8) or (month == 10) or (month == 12):
print(31)
elif (month == 4) or (month == 6) or (month == 9) or (month == 11):
print(30)
else:
if calendar.isleap(year):
print(29)
else:
print(28)
运行结果:
def getCircleArea(r):
return round(3.14 * r * r, 2)
n = int(input())
for i in range(n):
r = float(input())
print(getCircleArea(r))
运行结果:
def distance(x, y, z):
return (x**2 + y**2 + z**2) ** 0.5
x, y, z = input().split(',')
d = distance(float(x), float(y), float(z))
print(d)
运行结果:
n = int(input(''))
if n > 1:
for i in range(2, n):
if n % i == 0:
print(False)
break
else:
print(True)
else:
print(False)
运行结果:
n = int(input())
print(abs(n), end=' ')
if n < 0:
print((n + 10)*(-1), end=' ')
print((n - 10)*(-1), end=' ')
print((n * (-10))*(-1))
else:
print((n + 10), end=' ')
print((n - 10), end=' ')
print((n * (-10)))
运行结果:
import re
from math import factorial as fac
def get_k(n, a):
nn = fac(n)
for k in range(1, n):
ak = a**k
if nn % ak == 0 and nn % (ak * k) != 0:
return k
inp = input('')
n, a = [int(i) for i in re.findall(r'\d+', inp)[:2]]
print(get_k(n, a))
运行结果:
import numpy
data_i = input().split(',')
data = []
for i in data_i:
data.append(int(i))
a = round(numpy.mean(data), 2)
print('平均值:', a)
b = round(numpy.std(data), 2)
print('标准差:', b)
s = 0
data.sort()
n = len(data)
if n % 2 == 0:
s = (data[n//2] + data[(n+2)//2])/2
else:
s = data[(n+1)//2]
print('中位数:', int(s))
运行结果:
import random
string = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
s = len(string)
k1 = ''
for i in range(10):
k1 += string[random.randint(1, s)-1]
print(k1)
k2 = ''
for i in range(10):
k2 += string[random.randint(1, s)-1]
print(k2)
k3 = ''
for i in range(10):
k3 += string[random.randint(1, s)-1]
print(k3)
k4 = ''
for i in range(10):
k4 += string[random.randint(1, s)-1]
print(k4)
k5 = ''
for i in range(10):
k5 += string[random.randint(1, s)-1]
print(k5)
k6 = ''
for i in range(10):
k6 += string[random.randint(1, s)-1]
print(k6)
k7 = ''
for i in range(10):
k7 += string[random.randint(1, s)-1]
print(k7)
k8 = ''
for i in range(10):
k8 += string[random.randint(1, s)-1]
print(k8)
k9 = ''
for i in range(10):
k9 += string[random.randint(1, s)-1]
print(k9)
k10 = ''
for i in range(10):
k3 += string[random.randint(1, s)-1]
print(k10)
运行结果:
n = input()
d = []
for i in n:
if int(i) in d:
pass
else:
d.append(int(i))
s = 0
for j in d:
s += j
print(s)
运行结果:
望采纳。
我去,这么多
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《python实现随机密码生成》, 一起来围观吧 https://blog.csdn.net/qq_41558173/article/details/97153308?utm_source=app&app_version=5.0.1&code=app_1562916241&uLinkId=usr1mkqgl919blen