1.单词统计 — part one
【题目描述】
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
【输入描述】
输入给出一行字符。
【输出描述】
在一行中输出单词个数。
【输入样例1】
Let’s go to room 209.
【输出样例1】
5
代码:文章来源地址https://www.toymoban.com/news/detail-490892.html
s = input()
print(len(s.split()))
2.列表求平均值
【题目描述】
依次输入1到多个整数,并保存在列表中,求此列表的平均值。
【输入描述】
1到多个整数,以空格隔开。
【输出描述】
输出此列表的平均值,四舍五入保留一位小数。
【输入样例1】
1 2 3 4 5
【输出样例1】
3.0
代码:
s = input()
sum = 0
for i in s.split():
sum += int(i)
print('%.1f' % (sum / len(s.split())))
3.不常见的单词
Description
给定两个字符串 S1 和 S2 ,确保 S1 与 S2 都只有空格和单词组成。且保证每个单词仅由小写字母组成。
如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却没有出现 ,那么这个单词就是 不常见的 。
给你两个 句子s1和s2 ,返回所有不常用单词的列表。返回列表中单词要求按 S1 中出现,S2中出现的顺序组织。
Input
两行,一行代表一个字符串。
Output
一行,不常见单词列表。
Sample Input 1
this apple is sweet
this apple is sour
Sample Output 1
[‘sweet’, ‘sour’]
代码:
s1 = input()
s2 = input()
ans = []
for i in s1.split():
if s1.split().count(i) == 1 and s2.split().count(i) == 0:
ans.append(i)
for i in s2.split():
if s2.split().count(i) == 1 and s1.split().count(i) == 0:
ans.append(i)
print(ans)
4.列表合并去重
【题目描述】
输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10;合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。同时为保证输出结果一致,请将列表clist内元素按升序排序之后再输出。
【输入描述】
共两行,每一行都用来输入列表中的元素值,以空格隔开。
【输出描述】
共一行,以列表形式打印输出。
【输入样例1】
1 2 3
4 3 2
【输出样例1】
[1, 2, 3, 4]
代码:
a = list(map(int, input().split()))
b = list(map(int, input().split()))
print(list(set(a + b)))
5.有序列表插入元素
【输入描述】
从键盘上获取一个已按升序排好的整数列表(测试样例的数都已严格按照升序输入),用户输入一个待插入的整数,编写程序,实现插入该数后,列表后仍保持有序。
【输入描述】
样例输入:
1、列表元素由空格隔开。
2、待插入的整数。
【输出描述】
样例输出:
输出后的列表为X,插入后的索引值为X。
若插入元素的值与已有列表中的元素相同,则X为最大下标索引值。
【输入样例1】
1 2 3 3 3 4
3
【输出样例1】
输出后的列表为[1, 2, 3, 3, 3, 3, 4],插入索引值为5
代码:
a = list(map(int, input().split()))
b = eval(input())
a.append(b)
a.sort()
print('输出后的列表为', end = '')
print(a, end = '')
print(',插入索引值为%d' % (a.index(b) + a.count(b) - 1))
6.乘积的列表
【题目描述】
给定一个包含若干个整数的列表alist,要求返回输出列表blist,blist中的元素为除与alist对应位置上的元素之外其余各元素的乘积。(注:原列表的1位于1号位置,结果应该等于除去1号位置的其他元素的积,对应输出6=23,原列表的2,对应输出3=13,原列表的3,对应输出2=1*2)
【输入描述】
共一行,元素以空格隔开。
【输出描述】
共一行,为一个列表。
【输入样例1】
1 2 3
【输出样例1】
[6, 3, 2]
代码:
a = list(map(int, input().split()))
sum = 1
for i in a:
sum *= i
if not sum:
b = []
for i in range(len(a)):
cnt = 1
for j in range(len(a)):
if j != i:
cnt *= a[j]
b.append(cnt)
print(b)
else:
b = [sum // i for i in a]
print(b)
7.列表排列
【题目描述】
给定一个由数字组成的列表sList,编写程序将所有 0 移动到列表的末尾,同时保持非零元素的相对顺序。
【输入描述】
共一行,元素以英文逗号隔开。
【输出描述】
共一行,为重新排列好的列表。
【输入样例1】
1,3,4,1.2,0,0,0.0,2,3,5.6
【输出样例1】
[1, 3, 4, 1.2, 2, 3, 5.6, 0, 0, 0.0]
代码:
a = list(map(eval, input().split(',')))
b = []
for i in a:
if i:
b.append(i)
for i in a:
if not i:
b.append(i)
print(b)
8.工作日的力量part two
【题目描述】
如果一个人在一年365天,每天进步1%,则累计获得的进步一定比工作日模式下累计获得的进步要大。那么在工作日的模式下,要努力到什么水平,才能达到与每天努力1%一样呢?假设现有两种努力模式:(1)一年365天,每天进步1%,不停歇;(2)一年365天,每工作n天休息1天,假设在休息日下降1%,工作日每天进步x%。请编写程序计算出,当两种工作模式取得的成果一样时,x的值。
【输入描述】
一个整数n。
【输出描述】
共一行,为x的值,保留三位有效数字。
【输入样例1】
4
【输出样例1】
工作日的努力参数是:0.015
代码:
def find(x):
res = 1
for i in range(1,366):
if i % (n + 1) == 0:
res *= 0.99
else:
res *= (1 + x)
return res
n = int(input())
ans = 0.01
while find(ans) < 1.01 ** 365:
ans += 0.0001
print('工作日的努力参数是:%.3f' % ans)
9.寻找不一样的约数
【题目描述】
输入两个数n与m,寻找n和m之间不同的约数,并按不同约数的大小从小到大进行排序输出。
例如8的约数有1,2,4,8。9的约数有1,3,9,所以不同的约数是2、3、4、8、9。
【输入描述】
两个正整数n和m,中间以空格隔开。
【输出描述】
输出不同的约数,数据间以逗号进行分隔。若没有不同约数,则输出“not found”。
【输入样例1】
8 9
【输出样例1】
2,3,4,8,9
【输入样例2】
4 16
【输出样例2】
8,16
【输入样例3】
5 5
【输出样例3】
not found
代码:
n, m = map(int, input().split())
a, b = [], []
for i in range(1, n + 1):
if n % i == 0:
a.append(i)
for i in range(1,m + 1):
if m % i == 0:
b.append(i)
ans = []
for i in a:
if i not in b:
ans.append(i)
for i in b:
if i not in a:
ans.append(i)
ans.sort()
if len(ans) == 0:
print('not found')
else:
for i in range(len(ans)):
if not i:
print(ans[i], end = '')
else:
print(',%d' % ans[i], end = '')
10.又见字符统计
【题目描述】
输入英文字符,请按照字母表顺序统计字符串中所有出现的字母的个数(计数时不区分大小写),若输入的内容有误,则输出Error!
【输入描述】
一串只包含英文字母的字符。
【输出描述】
按题目要求输出。
【输入样例1】
HelloWorld
【输出样例1】
[0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]
【输入样例2】
Hello, World!
【输入样例2】
Error文章来源:https://www.toymoban.com/news/detail-490892.html
代码:
s = input()
ans = [0 for i in range(26)]
s = s.upper()
flag = 0
for i in s:
if i >= 'A' and i <= 'Z':
ans[ord(i) - ord('A')] += 1
else:
flag = 1
if flag:
print('Error')
else:
print(ans)
到了这里,关于python程序设计——练习4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!