1. 输入一个字符串,内容是个带小数的实数,例如123.45, 输出是两个整数变量x和y,x是整数部分123,y是小数部分45。
s=input("输入带小数的数字:")
s=s.split(".")
print(int(s[0]),"是整数部分,",int(s[1]),"是小数部分")
或者
x,y = [int(i) for i in input("输入带小数的数字:").split(".") ]
print("{}是整数部分,{}是小数部分".format(x,y))
结果:
小知识:
split() 用于分割的作用
python语言的绝妙之处就在于精简,所以第二种方法相对第一种是好的程序
2. 输入如下论语中的一句话,统计这句话中汉字的个数,标点符号的个数。 “学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?”
s='学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?'
print("标点符号的个数{},汉字个数{}".format(s.count(",")+s.count("?") ,len(s)-s.count(",")-s.count("?")))
结果:
3. 编写程序,输入一个字符串s,输出其每个字符的ASCII码构成的列表L, 即L中的每个元素是s中每个字符的ASCII码。
s=input("输入字符串:")
l=[]
for i in s:
l.append(ord(i))
print(l)
结果:
小知识:
L.append() 插入
ord() 将字符转换成ASCLL码
4. 编写程序,检查两个单词是否是字母易位词。例如 “silent” 和 ”listen”就是两个字母易位词,”apple”和”aplee”就不是字母易位词。
s=sorted(input("输入单词:"))
s1=sorted(input("输入对比单词:"))
if s==s1:
print("是两个字母易位词")
else:
print("两个字母不是易位词")
结果:
小知识:
sorted():排序函数
L.sort():列表的排序方法
5. 编程实现打印输出如下截图所示的杨辉三角形:
num=input('请输入行数:')
num =int(num)
list1 =[] #list 用来保存杨辉三角
for n in range(num):
row =[1] #保存行
list1.append(row)
if n ==0:
print(row)
continue
for m in range(1,n):
row.append(list1[n - 1][m - 1] + list1[n - 1][m])
row.append(1)
print(row)
结果:
6. 删除列表中出现次数最少的元素。
#s="adfffaaddccccc"
s=input("请输入字符串:")
d={} #计算出现的次数
a=[] #存放
for i in s:
a.append(i)
for i in s:
d[i]=d.get(i,0)+1
min1=d[s[0]] #字典中最小的元素,先随便找一个当最小的
for j in d: #找出待删除最小元素的重复最小元素
if d[j]<d[s[0]]:
min1=d[j]
b=[] #存放字符串中出现最小的的字母
for k in d:
# print("d[k]",d[k])
if d[k]==min1:
for i in range(min1):
b.append(k)
# print("b",b)
for i in range(len(b)):
for j in range(len(a)):
if b[i]==a[j]:
# print("b,a",b,a)
del a[j]
break
c='' #存放删除完的字符串
for k in range(len(a)):
c += a[k]
print("结果为:",c)
结果:
7.一个由n(n>1)个数字组成的列表 ls,输出一个列表lt, 其中lt中第i个元素等于ls中除ls[i]之外所有元素的乘积。例如: ls = [1,2,3,4]那么lt = [24, 12, 8, 6], ls = [4, -3, 0, 9, -7]那么lt = [0, 0, 756, 0, 0]
Ls = [1,2,3,4]
s = 1
Lt = []
for i in range(len(Ls)):
tem = Ls[:] #循环列表中的所有元素并存入tem中
tem.pop(i) #删除第i个元素
for j in tem: #将除了第i个元素之外的所有元素统统相乘
s *= j
Lt.append(s)
s = 1
print(Lt)
结果:
8.编写程序,合并两个有序列表,使得合并后的列表依然有序,要求不可使用sorted函数,也不可使用列表的sort方法。
a = [1, 3, 6, 7, 9]
b = [2, 4, 5, 8, 10]
c=a+b
for i in range(len(c)):
for j in range(len(c)-i-1):
if c[j] > c[j + 1]:
c[j], c[j + 1] = c[j + 1], c[j]
print(c)
结果:
小知识:
运用冒泡排序的方法