# 输入整数,输出百位及以上的数字
# s=input("输入整数")
# print(s[:-2])
#
# 获取输入字符串,按照空格分割,按行打印
# i=input("输入字符串")
# s=i.split()
# for c in s:
# print(c)
#
# 输入数字1--7,输出星期几
# d={1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday",7:"sunday"}
# i=int(input("""please input a number between 1--7
# """))
# a=d.get(i,"错误")
# print(a)
#
# 回文数,正反排列相同的数
# s=input("输入一个5位自然数")
# if s[0]==s[-1] and s[1]==s[-2]:
# print('回文')
# else:
# print('不是回文')
#
# 输入一个十进制数,输出二进制、八进制、十六进制
# s=int(input("a number:"))
# print("二进制:{:b}".format(s))
# print("八进制:{:o}".format(s))
# print("十六进制:{:x}".format(s))
#判断是否为闰年
# i=int(input("输入年份"))
# if(i%4==0 and i%100 !=0)or i%400==0:
# print(i,'闰年')
# else:
# print("不是闰年")
#最大公约数计算
# a,b=map(int,input("输入两个数,逗号分隔:").split(","))
# x=a*b
# if a>b:
# while True:
# s=a%b
# if s==0:
# print("最大公约数:",b)
# print("最小公倍数:",int(x/b))
# break
# a,b=b,s
# elif aran:
# print("大了,{}次".format(count))
# elif i10}".format(cha,count))
#中文字符统计,降序输出
# n=input("请输入一段字符")
# counts={}
# for character in n:
# counts[character]=counts.get(character,0)+1
# characters=list(counts.items())
# sort_character=sorted(characters,key=lambda x:x[1],reverse=True)
# for i in range(len(sort_character)):
# cha,count=sort_character[i]
# print("{:<10}{:>10}".format(cha,count))
#随机在26个字母和9个数字里生成10个8位密码
# import string
# from random import *
# password=[]
# resource=string.ascii_letters+string.digits #数字和字母
# for count in range(10):
# password=[]
# for num in range(8):
# i=randint(0,len(resource)-1)
# password.append(resource[i])
# else:
# print("".join(password))
# password.clear()
#重复元素判定
# def judge(n):
# m=sorted(n)
# for i in range(0,len(m)-1):
# if m[i]==m[i+1]:
# return True
# else:
# return False
# line=list(input("请输入一串列表值"))
# print(judge(line))
#重复元素判定续
def judge(n):
m=set(n)
if len(m)!=len(n):
return True
else:
return False
line=list(input("请输入一串列表值"))
print(judge(line))
#统计字符在文件中的次数
# filename=input("请输入文件名:")
# str=input("请输入一个字符:")
# f=open(filename,"r")
# all=f.read()
# number=all.count(str)
# f.close()
# print("字符{}在文件{}中出现的次数是{}次".format(str,filename,number))
#读取英文文件,大写字母变小,小写变大
# filename=input("请输入英文文本文件名:")
# f=open(filename,"r")
# s=f.read()
# #方法一
# result=s.swapcase() #swapcase()用于大小写字母变换
# print(result)
#生成10x10的矩阵保存为csv文件
from random import *
s=""
for y in range(10):
line=""
for x in range(10):
line+="{} ".format(randint(0,9))
s+="{}\n".format(line)
#将矩阵保存为文件
file=open("F:\\Q7.txt","w")
file.write(s)
file.close()
#将矩阵另存为csv文件
CSV=open("F:\\Q7.txt","w")
newfile=s.replace(" ",",")
CSV.write(newfile)
CSV.close()
#读取python源文件,除保留字的字母外的小写字母变成大写,生成后的文件能被执行
import keyword
table=["range","print","input","len","list","set"]
file=open("test1.py","r",encoding='utf-8')
content=file.read()
file.close()
temp="" #临时字符串,用于判断和处理
fs="" #用于存储改变后的内容
for ch in content:
if ch.isalpha(): #如果是字母,则加到temp后面,用于后面处理
temp+=ch
else: #如果不是字母,表示一个连续的字母字符串结束,此时ch非字母
if(not keyword.iskeyword(temp))and (temp not in table):
temp=temp.upper() #如果不是保留字和内置方法,将其变成大写
fs+=temp #将temp添加到fs
fs+=ch #添加非字母,不能和上一个颠倒
temp="" #清空临时字符串,用于下次使用
new_file=open("test1.py","w",encoding='utf-8')
new_file.write(fs)
new_file.close()
#将任意类型元素的列表转储为CSV
#处理列表的函数
def save_csv(m,n):
CSV=open(m,"w")
t=""
for i in range(len(n)):
t+=str(n[i])+"列表分隔处"
t=t.replace(",","此处为原来的逗号")
x=list(filter(None,t.split("列表分隔处"))) #filter有两个参数,第一个参数是函数,第二个是传递给函数的参数,返回True时放到新列表里
CSV.write(",".join(x)) #None只返回True
CSV.close()
#打开CSV文件并正确解析为列表的函数
def open_csv(m):
file=open(m,"w").read()
file=file.replace(",","从此处分隔")
file=file.replace("此处为原来的逗号",",")
new_list=file.split("从此处分隔")
print("解析出的列表为{}".format(new_list))
def main():
n=input("请输入列表元素,以分号分隔")
m=input("请输入要保存的csv文件名")
n=n.split(";")
print("输入的列表为{}".format(n))
save_csv(m,n)
open_csv(m)