python期末编程题及答案,python编程题目及答案

本篇文章给大家谈谈python期末编程题及答案,以及python编程题库及答案,希望对各位有所帮助,不要忘了收藏本站喔。

  • 定义一个函数,判断一个数是否为奇数,并求1-100范围内奇数的和、积。
def f(n):
    if n%2!=0:
        return True
    else:
        return False
sum=0
mul=1
for i in range(1,100):
    if f(i):
        sum+=i
        mul*=i
print(sum,mul)
  • 若一个三位数每一位数字的3次幂之和都等于它本身,则这个三位数是水仙花数伪原创神码ai怎么样。例如153是水仙花数,各位数字的立方和为13 + 53+ 33 = 153。编程求解所有的水仙花数。
def f(x):#判断水仙花
    a=str(x)
    sum=eval(a[0])**3+eval(a[1])**3+eval(a[2])**3
    if x==sum:
        return True
    else:
        return False
for i in range(100,1000):
    if f(i):
        print(i)

  • 中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?编程解决以上问题。
for i in range(21):
    for j in range(34):
        for k in range(301):
            if 5*i+3*j+k/3==100 and i+j+k==100:
                print(i,j,k)

  • 只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是是相同的数,则该素数为回文素数。编程求解2~1000内的所有回文素数。
def sushu(n):
    if n>1:
        for i in range(2,n):
            if n%i!=0:
                return True
            else:
                return False

def huiwen(number):
    length = len(str(number))#转换为字符串的长度
    list = [int(x) for x in str(number)]

    for j in range(length // 2):
        if list[j] != list[length - 1 - j]:
            return False
    return True

for j in range(2,1000):
    if sushu(j) and huiwen(j):
        print(j)
  • 已知有如下一张表格:

仿照以上表格结构,创建一个DataFrame对象,字典对象,Jason对象,并将其分别保存至文件。

import pandas as pd
import numpy as np
arr=np.array([[1,5,8,8],[2,2,4,9],[7,4,2,3],[3,0,5,2]])
n_arr=pd.DataFrame(arr,columns=['A','B','C','D'])
print(n_arr)

  

  • 若一个数刚好等于它的因子之和,那么这个数就称为“完数”,例如6=1+2+3,6就是完数。编程打印1000以内的所有完数。
def f(x):#判断一个数是否是完数
    sum=0
    for i in range(1,x):
        if x%i==0:
            sum+=i
    if sum==x:
        return True
for j in range(1,1000):
    if f(j):
        print(j)
  • 输入三个整数,把这三个数由小到大输出。
a=list(input())
a.sort()
for i in a:
    if i!=' ':
        print(i,end=' ')
  • 随机产生[1,100]间的数,将这些数输出;计算这些数中能被2整除但不能被4整除的数的和,并输出结果。
import random as r
n=int(input('随机数个数:'))
b=[]
for i in range(n):
    a=r.randint(1,101)
    print(a,end=' ')
    if a%2==0 and a%4!=0:
        b.append(a)
print('\n')
sum1=0
for j in b:
    sum1+=j
print(sum1)
  • 输入n的值,计算1+(1+2)+(1+2+3)+…+(1+2+3+…+n) 的和, 将结果在输出显示。
def f(n):#求1+……+n的和
    sum=0
    for i in range(1,n+1):
        sum+=i
    return sum

n=eval(input())
allsum=0
for j in range(1,n+1):
    allsum+=f(j)
print(allsum)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值