python练手经典100例及答案(80个python练手项目列表)

http://www.itjxue.com  2023-04-14 10:01  来源:未知  点击次数: 

python编程:输入一个自然数n,如果n为奇数,输出表达式1+1/3+…+1/n的值

def summ(n):

if n%2:

m=1

else:

m=2

return round(sum([1/x for x in range(m,n+1,2)]),2)

print(summ(5))

推荐几个适合新手练手的Python项目

《Python实战:四周实现爬虫系统》百度网盘免费下载

链接:

提取码: xbdu? ?明态

Python实战旅槐埋:四周实现爬拆蚂虫系统

Python挑战100题(14~20)

题目:给你个小写英文字符串a和一个非负数b(0=b26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。

例如a="cagy", b=3,

则输出 :fdjb

提示: ord('a') = 97, ord('b') = 98, chr(97) = a

参考答案:

题目:给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。

回文串的定义: 记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".

参考答案:

题目:给你两个时间st和et(00:00:00=st = et=23:59:59), 请你给出这两个时间间隔的秒数。

如:st="00:00:00", et="00:00:10", 则输出10.

参考答案:

方法一:切片

方法二:time模块

题目:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,

如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}

请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。

参考答案:

方法一:利用datetime模块

方法二:一行

题目:给你一个整数组成的列表L,按照下列条件输出:

若L是升序排列的,则输出"UP";

若改郑L是降序排列的,则输出"DOWN";

若L无序,则输出"WRONG"。

参考答案:

题目:一个环形的公路上有n个加油站,编号为0,1,2,...n-1,

每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限,

而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。

现在有一辆开始时没有油的车,要从一个加油站出发绕这个公核启颂路跑一圈回到起点。

给你整数n,列表limit和列表cost,你来判断能否完成任务。

如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。

如果不能完成任务,输出-1。

参考答案:

构造新的limit和cost并遍历,来源

题目:给你一个整数列表L,判断L中是否存在相同的旁芹数字,

若存在,输出YES,否则输出NO。

参考答案:

python的题目?

1.将列表的元素按逆序重新存放。

my_list = [1, 2, 3, 4, 5]

my_list.reverse() # 将列表元素反转

print(my_list) # 输出反转后的列表

2.将列表中的偶数变成其平方值,奇数保持不变。

my_list = [1, 2, 3, 4, 5]

for i in range(len(my_list)):

if my_list[i] % 2 == 0: # 如果元素是偶数

my_list[i] = my_list[i] ** 2 # 将元素平方

print(my_list) # 输出更改后的列表

3.生成包含100个100以内的随机正整数的元组,统计每个数出现的次数。

生成包含100个100以内的随机正整掘歼数的元组,统计每个数出现的次数。

4.输入5X5的矩阵a,完成下列要求:旦散纯a.输出矩阵ab.将第2行和第5行元素对调后,再重新输出a

# a.

a = [[1, 2, 3, 4, 5],

[6, 7, 8, 9, 10],

[11, 12, 13, 14, 15],

[16, 17, 18, 19, 20],

[21, 22, 23, 24, 25]]

for row in a:

print(row) # 每行输出矩阵

# b.

a[1], a[4] = a[4], a[1] # 将第2行和第5行元素对调

# c.

for row in a:

print(row) # 重新输出矩阵

5.创建由星期一到星期日的7个值组成的字典,输出键列表、值列表和键值列表。

days_of_week = {

"Monday": 1,

"Tuesday": 2,

"Wednesday": 3,

"Thursday": 4,

"Friday": 5,

"Saturday": 6,

"Sunday": 7

}

keys = list(days_of_week.keys()) # 将字典键转换为列表

values = list(days_of_week.values()) # 将字典值转换为列表

key_values = list(days_of_week.items()) # 将字典键值对转换为列表

print("Keys:", keys) # 输出键列表

print("Values:", values) # 输出值列表

print("Key-Values:", key_values) # 输出键值列表

6.输入10名学生的姓名和成绩,输出其最高分和最低分。要求使用字典存放学生的姓名和成绩。

my_dict = {}

for i in range(10):

name = input("Enter student name: ") # 输入学生姓名

score = int(input("Enter student score: ")) # 输入学生成绩

my_dict[name] = score # 将学生姓名和成绩存入字典

highest_score = max(my_dict.values()) # 获取最高成绩

lowest_score = min(my_dict.values()) # 获取最低成绩

print("Highest score: ", highest_score) # 输出最高成绩

print("Lowest score: ", lowest_score) # 输出最低成绩

7.随模咐机产生10个[0,10]范围的整数,分别组成集合A和集合B。输出集合A、集合B的内容、长度以及他们的并集、交集和差集。

import random

A = set(random.sample(range(11), 10)) # 随机从0到10范围内选取10个不重复的整数,将其作为集合A的元素

B = set(random.sample(range(11), 10)) # 随机从0到10范围内选取10个不重复的整数,将其作为集合B的元素

print("Set A: ", A) # 输出集合A

print("Set B: ", B) # 输出集合B

print("Length of A: ", len(A)) # 输出集合A的长度

print("Length of B: ", len(B)) # 输出集合B的长度

print("Union of A and B: ", A.union(B)) # 输出集合A和集合B的并集

print("Intersection of A and B: ", A.intersection(B)) # 输出集合A和集合B的交集

print("Difference of A and B: ", A.difference(B)) # 输出集合A和集合B的差集

(责任编辑:IT教学网)

更多

推荐数据库文章