程序设计简单需要帮助

img


img

img

img

img

img

img

img

img

img

img

img


天数计算一直出错,实在是不太理解怎么改,其他的题目也需要帮助


# 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))

如有帮助,还请采纳!谢谢!

1.输出斐波拉契数列的前n项

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()

运行结果:

img

2.N的多次方

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)

运行结果:

img

3.M与N的数学运算

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)

运行结果:

img

4.天数计算

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)

运行结果:

img

5.对指定r计算圆的面积

def getCircleArea(r):
      return round(3.14 * r * r, 2)

n = int(input())
for i in range(n):
      r = float(input())
      print(getCircleArea(r))

运行结果:

img

6.计算三维空间某点距离原点的欧式距离

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)

运行结果:

img

7.输入一个正整数,判断是否为质数

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)

运行结果:

img

8.同符号数学运算

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)))
      

运行结果:

img

9.整数阶乘组合计算

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))
 

运行结果:

img

10.基本统计值计算

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))

运行结果:

img

11.生成随机密码

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)

运行结果:

img

12.数字不同数之和

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)

运行结果:

img

望采纳。

我去,这么多

参考链接
生成随机密码


这些题是作业吧,初学者建议自己思考学习解题思路

我用#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