练习题_数据类型(Python)

本文围绕Python编程展开,包含整数加法计算器实现、统计输入内容中整数个数、列表元素处理、字符串比较与反转、回文判断等操作,还扩展了判断列表中是否有相同元素的算法设计,展示了Python在数据处理方面的应用。

1.实现一个整数加法计算器(多个数相加):

如:content = input(“请输入内容:”) 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。

2.计算用户输入的内容中有几个整数(以个位数为单位),并打印输出。

如:content = input(“请输入内容:”)

如:fhdal234slfh98769fjdla

输出:8个数字:23498769

3.查找列表wordlist 中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。

wordlist = [“IT sishu”, “alexC”, "Ab C ", "egon ", " ticToc ", " Angle “, " aqc”]

4.循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。

wordlist = [1, 3, 4, “sishu”, [“aa”, “bb”, “cc”], 5, “it”]

输出:1,3,4,sishu,

​ aa,bb,cc,

​ 5,it,

5.假设字符串中含有的字母及个数相同就算相等(例如:aba和aab相等),随便输入二组字符串,请编程比较他们看是否相等

6.从键盘输入字符串,回车后按单词反转

例如输入:Where there is a way

输出:Way a is there where

7.判断一句话是否是回文. 回文: 正着念和反着念是一样的.

例如, 上海自来水来自海上

【扩展】

设计一个算法,判断列表中是否具有相同元素。(方法不止一种,看你能写出几种)

​ [1,4,7,5,1,9,8]

# @Time:2020/12/14 22:38
# @Author:李 祥
# @File:task4.py
# @Software:PyCharm

# 1.实现一个整数加法计算器(多个数相加):
# 方法一:
content = input("请输出内容:")
print(eval(content))
# 方法二:
content = input("请输出内容:")
res = content.split("+")
res = [int(i) for i in res]
print(sum(res))

# 2.计算用户输入的内容中有几个整数(以个位数为单位),并打印输出。
content = input("请输入内容:")
count = 0
list1 = []
for i in content:
    if i.isdigit():
        count += 1
        list1.append(i)
print(count, "个数字:", end=" ")
for i in list1:
    print(i, end="")
# 3.查找列表wordlist 中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
wordlist =  ["IT sishu", "alexC", "Ab C ", "egon ", " ticToc ", " Angle ", "  aqc"]
wordlist1 = []
for i in wordlist:
    i = i.replace(" ", "")
    if i[0] in ["A", "a"] and i[-1] == "c":
        wordlist1.append(i)
print(wordlist1)

# 4.循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
wordlist = [1, 3, 4, "sishu", ["aa", "bb", "cc"], 5, "it"]
for i in wordlist:
    if type(i) == list:
        print()
        for j in i:
            print(j, end=",")
        print()
    else:
        print(i, end=",")

# 5.假设字符串中含有的字母及个数相同就算相等(例如:aba和aab相等),随便输入二组字符串,请编程比较他们看是否相等
a, b = input("请输入两组字符串空格隔开:").split()
count1 = 0
for i in a:
    if i.isalpha():
        count1 += 1
for i in b:
    if i.isalpha():
        count1 -= 1
if count1 == 0:
    print("相等")
else:
    print("不相等")

# 6.从键盘输入字符串,回车后按单词反转
res = input().split()
res.reverse()
a = " ".join(res).capitalize()
print(a)

# 7.判断一句话是否是回文. 回文: 正着念和反着念是一样的.
res = input("请输入文字:")
if res[::-1] == res:
    print("回文")
else:
    print("非回文")

# 设计一个算法,判断列表中是否具有相同元素。(方法不止一种,看你能写出几种)
# 方法一:
def function(a):
    count = 0
    for i in range(len(a)):
        for j in range(i + 1, len(a)):
            if i != j and a[i] == a[j]:
                count += 1
    if len(a) // 2 == count:
        print("相同")
# 方法二:
def function(a):
    count = 0
    for i in set(a):
        if a.count(i) > 1:
            count +=1
        if count == len(set(a)):
            print("相同")

### Python综合数据类型练习题 以下是关于Python综合数据类型练习题,涵盖列表、字典、集合、元组等数据结构的使用与操作。这些问题旨在帮助用户巩固对Python数据类型的理解,并提升实际编程能力。 #### 练习题 1:列表操作 给定一个列表 `my_list = [1, 2, 3, 4, 5]`,请完成以下任务: - 将列表中的所有元素加倍。 - 删除列表中的最后一个元素。 - 在列表开头插入数字 `0`。 **答案**: ```python my_list = [1, 2, 3, 4, 5] my_list = [x * 2 for x in my_list] # 列表推导式[^1] del my_list[-1] # 删除最后一个元素[^1] my_list.insert(0, 0) # 插入元素[^1] print(my_list) ``` --- #### 练习题 2:字典操作 给定一个字典 `my_dict = {'a': 1, 'b': 2, 'c': 3}`,请完成以下任务: - 将键 `'d'` 添加到字典中,值为 `4`。 - 遍历字典的所有键和值,并打印出来。 - 删除键 `'b'`。 **答案**: ```python my_dict = {'a': 1, 'b': 2, 'c': 3} my_dict['d'] = 4 # 添加键值对[^1] for key, value in my_dict.items(): # 遍历字典[^1] print(f"Key: {key}, Value: {value}") del my_dict['b'] # 删除键 print(my_dict) ``` --- #### 练习题 3:集合操作 给定两个集合 `set1 = {1, 2, 3, 4}` 和 `set2 = {3, 4, 5, 6}`,请完成以下任务: - 找出两个集合的交集。 - 找出两个集合的并集。 - 找出两个集合的差集(`set1 - set2`)。 **答案**: ```python set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} intersection = set1 & set2 # 交集 union = set1 | set2 # 并集 difference = set1 - set2 # 差集[^1] print(f"Intersection: {intersection}") print(f"Union: {union}") print(f"Difference: {difference}") ``` --- #### 练习题 4:元组操作 给定一个元组 `my_tuple = (1, 2, 3, 4, 5)`,请完成以下任务: - 打印元组中的第二个元素。 - 将元组转换为列表,并修改第一个元素为 `0`。 - 再将列表转换回元组。 **答案**: ```python my_tuple = (1, 2, 3, 4, 5) print(my_tuple[1]) # 打印第二个元素[^1] my_list = list(my_tuple) # 转换为列表 my_list[0] = 0 # 修改第一个元素 new_tuple = tuple(my_list) # 转换回元组[^1] print(new_tuple) ``` --- #### 综合练习题 给定以下数据结构: ```python data = { "students": [ {"name": "Alice", "age": 20, "grades": [85, 90, 95]}, {"name": "Bob", "age": 22, "grades": [70, 80, 85]}, {"name": "Charlie", "age": 21, "grades": [92, 94, 98]} ] } ``` 请完成以下任务: - 找出所有学生的平均成绩。 - 找出成绩最高的学生及其对应的平均成绩。 **答案**: ```python data = { "students": [ {"name": "Alice", "age": 20, "grades": [85, 90, 95]}, {"name": "Bob", "age": 22, "grades": [70, 80, 85]}, {"name": "Charlie", "age": 21, "grades": [92, 94, 98]} ] } # 计算所有学生的平均成绩 for student in data["students"]: avg_grade = sum(student["grades"]) / len(student["grades"]) # 平均成绩计算[^1] student["avg_grade"] = avg_grade # 找出成绩最高的学生 max_student = max(data["students"], key=lambda x: x["avg_grade"]) # 使用max函数 print(f"Highest Avg Grade Student: {max_student['name']}, Avg Grade: {max_student['avg_grade']}") ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值