Python 语言程序设计——实验五

第1题:

用列表的append函数,编写程序,可以让用户逐个输入多个实数,当用户输入-1时,终止输入,统计所输入的数据个数,并求总和以及平均值。

lst = [] 
num = 0
sum = 0
a=eval(input("请输入实数,输入-1终止:\n"))
while a!=-1:
    lst.append(a)
    sum = sum + a
    num=num + 1
    a=eval(input("请输入实数,输入-1终止:\n"))
print("数据个数为{:d}".format(num))
print("数据总和为{:d}".format(sum))
print("平均值为{:.2f}".format(sum/num))
print("个数:{}  总和:{}  平均值:{}".format(num,sum,sum/num))

第2题:

利用元组(把运算符号放到元组中),实现,输入两个数字,并输入加减乘除运算符号,输出运算结果。若输入其他符号,则退出程序。
程序运行结果类似于:

请输入第一个数字2.3
请输入第二个数字3.4
请输入运算符号,其他符号为退出程序/
2.3/3.4=0.7

print("-------计算器-------")
a = input("请输入第一个数字:")
b = input("请输入第二个数字:")
op = input("请输入运算符号,其他符号为退出程序:")
if op in ('+','-','*','/'):
    print(a+op+b+'=',end="")
    print(eval(a+op+b))
else:
    exit(0)

t=('+','-','*','/')
a=eval(input("请输入第一个数字:"))
b=eval(input("请输入第二个数字:"))
c=input("请输入运算符号,其他符号为退出程序:")
if c in t:
    if c=='+':
        print('{}+{}={}'.format(a,b,a+b))
    if c=='-':
        print('{}-{}={}'.format(a,b,a-b))
    if c=='*':
        print('{}*{}={}'.format(a,b,a*b))
    if c=='/':
       print('{}/{}={:.1f}'.format(a,b,a/b))

第3题:

利用字典({0:’星期一’, 1: ‘星期二’等等 }),实现,引入内置模块calendar,输入年、月、日,根据weekday(year,month,day)的返回值,输出该日期是星期几。函数weekday()返回0~6分别对应星期一至星期日。程序能判断输入的日期是否有误。
程序运行结果类似于:

请输入年1949
请输入月10
请输入日1
您输入的1949年10月1日是星期六

print("-------计算星期几-------")
import calendar
y = int(input('请输入年份'))
m = int(input('请输入月份'))
d = int(input('请输入日'))
a=calendar.weekday(y,m,d)
dic = {0:'星期一',1:'星期二',2:'星期三',3:'星期四',4:'星期五',5:'星期六',6:'星期日'}
print("您输入的{}年{}月{}日是{}".format(y,m,d,dic.get(a)))

第4题:

统计英文句子sentence中单次出现的次数。
sentence=‘Beautiful is better than ugly.Explicit is better than implicit.
Simple is better than complex.Complex is better than complicated.’
#将文本中涉及标点用空格替换
程序运行结果类似于:

is 4
better 4
than 4
Beautiful 1
等等

print("-------统计单词频数-------")
sentence='Beautiful is better than ugly.Explicit is better than implicit.\
Simple is better than complex.Complex is better than complicated.'
for i in sentence:
    for i in ',.':
        sentence = sentence.replace(i, " ")
sentence = sentence.lower()
words = sentence.split() //对字符串进行切片,默认分隔符为空字符(空格、换行、制表符等)
counts = {}
for word in words:           
    counts[word] = counts.get(word,0) + 1 //对进行计数word出现的频率进行统计,当word不在words时,返回值为0,反之,返回+1,以此进行累计计数(并更新字典)。
items=list(counts.items())  //字典的键值对变成列表
items.sort(key=lambda x:x[1], reverse=True)  //以出现次数为标准排列,从小到大
count = 0
for i in items:
    count+=1
for i in range(count):
    word, count = items[i]  //返回相对应的键值对
    print ("{0:<10}{1:>5}".format(word, count))

你可能感兴趣的:(Python,python)