python习题

python习题

1.生成50个随机数,编写函数判断他们是否是奇数,是则不输出

方法一:
解析:先生成50个随机整数,然后进行判断是否为整数,是则加入列表result[],然后排序输出

import random
ls = []
for i in range(50):
    num = random.randint(1,100)
    ls.append(num)
ls.sort()
print(ls)
result = []
for i in ls:
    if i % 2 == 0:
        result.append(i)
result.sort()
print(result)

在这里插入图片描述
方法二:

import random
ls = []
for i in range(50):
    num = random.randint(1,100)
    ls.append(num)
ls.sort()
print(ls)
for i in range(len(ls)- 1, -1, -1):
    if ls[i] % 2 != 0:
        del ls[i]
ls.sort()
print(ls)

在这里插入图片描述

2.判断用户输入的数字是否是水仙花数

x = input("请输入:")
n = len(str(x))
sum,i=0,0
for i in range(n):
    sum+=int(x[i])**n
    i+=1
if sum == int(x):
    print("{0}是水仙花数".format(x))
else:
    print("{0}不是水仙花数".format(x))

在这里插入图片描述

3.字符串分段组合

##字符串分段组合
str = input("请输入:")
s = str.split("-")
print(s[0]+'+'+s[-1])

输出样例
在这里插入图片描述

4.回文数判断

##回文数判断
num = input("请输入:")
a = num[::-1]
if num==a:
    print("是回文数")
else:
    print("不是回文数")

在这里插入图片描述

5. 计算球体的体积,以球体的半径作为输入,并输出球体的体积

while True:
    try:
        p=3.14159
        r = float(input("请输入半径:"))
        if r < 0:
            print("输入半径不能小于0")
            continue
        else:
            v = (4/3)*p*pow(r,3)
            print("球体体积为:{}".format(v))
            
    except:
        print("输入有误")

在这里插入图片描述

6.输出4位玫瑰花数

for a in range(10):
    for b in range(10):
        for c in range(10):
            for d in range(10):
                n1 = pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)
                n2 = a*1000+b*100+c*10+d
                if n1==n2 and len(str(n1))==4:
                    print(n1)

在这里插入图片描述

输出四位玫瑰花数的最大数值:

ls=[]
for a in range(10):
    for b in range(10):
        for c in range(10):
            for d in range(10):
                n1 = pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)
                n2 = a*1000+b*100+c*10+d
                if n1==n2 and len(str(n1))==4:
                    ls.append(n1)
                    ls.sort()
                    
print(ls[-1])

在这里插入图片描述

7.英文字符的鲁棒输入

描述 获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误。

alpha = []
for i in range(26):
    alpha.append(chr(ord('a') + i))
    alpha.append(chr(ord('A') + i))
s = input()
for c in s:
    if c in alpha:
        print(c, end="")

8.数字的鲁棒输入

描述 获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。

s = input()
try:
    if complex(s) == complex(eval(s)):
        print(eval(s)**2)
except:
    print("输入有误")

9.输入三个数字,按大小从小到大输出

ls=[]
for i in range(3):
    num = input("请输入:")
    ls.append(num)
ls.sort()
print(ls)

在这里插入图片描述

10.随机密码生成,以整数17作为随机数种子,获取用户输入作为密码长度,产生三个随机密码,密码的每一位为一个数字

##随机密码生成
import random
random.seed(17)
len = int(input("输入整数:"))
a = pow(10,len-1)
b = pow(10,len)-1
for i in range(3):
    num = random.randint(a,b)
    print(num)

在这里插入图片描述

11.连续质数计算

描述
补充编程模板中代码,完成如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。

##连续质数计算
def prime(m):
    for i in range(2,m):
        if m % i == 0:
            return False
    return True

n1 = eval(input("请输入:"))
n2 = int(n1)
n2 = n2+1 if n2 < n1 else n2
count = 5

while count > 0:
    if prime(n2):
        if count > 1:
            print(n2, end=",")
        else:
            print(n2, end="")
        count -= 1 
    n2 += 1

在这里插入图片描述

12.数字不同数之和,输入一个数字计算其中不同数字之和

##数字不同数之和
sum = 0
num = set(input("请输入:"))
print(num)
for i in num:
    sum+=eval(i)
print(sum)

图解:
在这里插入图片描述

13.文本的平均行数

##文本的平均行数
f = open("1.txt","r",encoding="utf-8")
s = 0
char = 0
for line in f:
    line = line.strip('\n')
    if len(line)==0:
        continue
    s+=1
print(s)

在这里插入图片描述

14.csv数据格式清洗与转化

##csv格式清洗与转换
f = open("data.csv","w+",encoding="utf-8")
lines = f.readlines()
lines.reverse()
for line in f:
    line = line.strip("\n")
    ls = line.split(",")
    ls = ls[::-1]
    print(",".join(ls))
f.close()

15.统计文件数据中字母e出现的次数(不区分大小写)

##统计文件数据中字母e出现的次数(不区分大小写)
with open('1.txt', 'r', encoding='utf-8') as f:
    res = f.read()
    print('字符串e/E的个数为', res.count('e')+res.count('E'))    

在这里插入图片描述

16.编写程序生成一个10*10的矩阵,并保存为csv文件最后打开查看是否正确

##编写程序生成一个10*10的矩阵,并保存为csv文件最后打开查看是否正确
import numpy as np
from numpy import random
a = random.randint(1,100,size=(10,10))
print(a)
f = open("data.csv","w+",encoding="utf-8")
for row in a:
    f.write(",".join('%s' %id for id in row)+"\n")
f.close()

在这里插入图片描述

17.编写程序检测二维数据中是否有重复数据,如果没有重复返回则函数返回为真

##编写程序检测二维数据中是否有重复数据,如果没有重复返回则函数返回为真
import numpy as np
def check():
    a = np.array([[1,2,3,4,5],[6,7,8,9,10]])
    u = np.unique(a)
    if len(u)<len(a):
        return False
    else:
        return True
print(check())

在这里插入图片描述

18.如何实现“1,2,3”变成[“1”,“2”,“3”]

str1="1,2,3"
print(str1)
str1=str1.split(",")
print(str1)

在这里插入图片描述

19.复制列表,把一个列表复制为一个新列表

ls = ['1','s','d','f','l']
print(ls)
lt=ls.copy()
print(lt)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值