python 习题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 习题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1810字,纯文字阅读大概需要3分钟。
内容图文
文件内容为一个多层元组,遍历该元组,当全为数字时输出数字之和,全为字母输出字符串,
有数字有字母输出False,并将该内容写入到该文件的下一行中
# 方法一:
t1= ((1,2,3),("a","b","c"),("a",1,2))
import pickle
with open('D:\\a.txt', 'wb') as f:
pickle.dump(t1,f)
with open('D:\\a.txt', 'rb') as f1:
content = pickle.load(f1) # 用这个方法一参数的形式写入,然后读出来也是参数
tup = tuple(content)
result = []
def func(tup):
for i in tup:
if isinstance(i, tuple):
func(i)
else:
result.append(i)
list1 = list(filter(lambda x:type(x)==int, result))
list2 = list(filter(lambda x:type(x)==str, result))
if len(result) == len(list1):
print(True)
elif len(result) == len(list2):
print(False)
else:
with open('D:\\a.txt', 'a', encoding='utf-8') as f1:
f1.write(str(result))
# 方法2
#分别定义判断元组元素是否全部是数字、字母的函数
import string
def all_digit(arr):
for v in arr:
if not isinstance(v,int):
return False
return True
def all_letter(arr):
for v in arr:
if str(v) not in string.ascii_letters:
return False
return True
#读出文件内容并用eval函数获得原始元组
with open("e:\\python\\a.txt") as file_obj:
content = file_obj.readline()
content = eval(content) # 通过这个方法把读取的到的内容转换为元祖
#遍历元组中的元组,如果都是数字直接求和,并加入结果列表
#如果都是字母拼接成字符串后加入结果列表
#如果都不是False加入结果列表
result = []
for item in content:
if all_digit(item):#("a",1,2)返回False
result.append(sum(item))
elif all_letter(item):#("a",1,2)返回False
result.append("".join(item))
else:
result.append(False)
# print(result)
with open("e:\\python\\a.txt","a+") as file_obj:
file_obj.write("\n" + str(tuple(result)))
file_obj.seek(0,0)
print(file_obj.read())
内容总结
以上是互联网集市为您收集整理的python 习题全部内容,希望文章能够帮你解决python 习题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。