计算机二级Python基本操作题-序号43

1. 键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。

示例如下:
输入:
我爱老师
输出:
老师爱我

import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
for i in ls[::-1]:
    print(i, end = "")

2. 某商店出售品牌服装,每件定价150,1件不打折,2件(含)到3件(含)都打九折,4件(含)到9件(含)打八折,10件(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。

输入:8
输出:总额为:960

n = eval(input("请输入数量:"))
if n == 1:
   cost = 150
elif n >= 2 and n <= 3:
   cost = int(n * 150 * 0.9)
elif n >= 4 and n <= 9:
   cost = int(n * 150 * 0.8)
elif n >= 10:
	cost = int(n * 150 * 0.7)
print("总额为:",cost)

3. 以255为随机数种子,随机生成5个在1(含)到50(含)之间的随机数,每个随机数后跟随一个空格进行分隔,屏幕输出这5个随机数。

import random
random.seed(255)
for i in range(5)
	print(random.randint(1, 50), end = " ")

4. 键盘输入一个9800到9811之间的正整数n,作为Unicode编码,把n-1、n和n+1三个Unicode编码对应字符按照如下格式要求输出到屏幕:宽度为11个字符,加号字符+填充,居中 。

n = eval(input("请输入一个数字:"))
print("{:+^11}".format(chr(n - 1) + chr(n) + chr(n + 1)))

5. 从键盘输入一个中文字符串变量s,内部包含中文逗号和句号。计算字符串s中的中文词语数。示例如下:请输入一个中文字符串,包含标点符号。

示例:
请输入一个中文字符,包含标点符号:问君能有几多愁?恰似一江春水向东流。
中文词语数:9

import jieba
s = input("请输入一个中文字符串,包含标点符号:")
m = jieba.lcut(s)
print("中文词语数:{}".format(len(m)))

6. 键盘输入一个十整数,按要求将这个整数转换为二进制、八进制和十六进制(大写)屏幕输出。

 num = eval(input("输入数字:"))
 print("对应的二进制数:{0:b}\n八进制数:{0:o}\n十六进制数:{0:X}".format((num)))

7. 编写一个函数,使之能够实现字符串的反转。将字符串“goodstudy”输入到函数中,运行并输出结果。

def str_change(str) :
    return str[::-1]
str = input("输入字符串:")
print(str_change(str))

=

8. 使用循环输出从1到50之间的奇数

count = 0
while count < 50:
	count += 1
	if count % 2 == 0:
		continue
	print(count, end = ",")

9. 输入下面的绕口令,将其中出现的字符“兵”,全部替换为“将”,输出替换后的字符串。 八百标兵奔北坡,炮兵并排北边跑,炮兵怕把标兵碰,标兵怕碰炮兵炮。八了百了标了兵了奔了北了坡,把了标了兵了碰,标了兵了怕了碰了炮了兵了炮。

s = input("请输入绕口令:")
print(s.replace("兵", "将"))

10. 使用time库把系统的当前时间信息以格式“2018年12月04日18时18分21秒”输出。

import time
t = time.localtime()
print(time.strftime("%Y年%m月%d日%H时%M分%S秒",t))

11. 获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出。

a, b, c = [int(x) for x in input().split(',')]
ls = []
for i in range(c):
	ls.append(a + (i * b))
print(ls)

12. 以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。

import random
random.seed(0)
s = 0
for i in range(5):
    n = random.randint(1, 97)  # 产生随机数
    s = s + n ** 2
print(s)

总结

jieba库

jieba是python中的中文分词第三方库,可以将中文的文本通过分词获得单个词语,返回类型为列表类型。

jieba分词共有三种模式:精确模式、全模式、搜索引擎模式。

  • 精确模式语法:jieba.lcut(字符串,cut_all=False),默认时为cut_all=False,表示为精确模型。精确模式是把文章词语精确的分开,并且不存在冗余词语,切分后词语总词数与文章总词数相同。
  • 全模式语法:jeba.lcut(字符串,cut_all=True),其中cut_all=True表示采用全模型进行分词。全模式会把文章中有可能的词语都扫描出来,有冗余,即在文本中从不同的角度分词,变成不同的词语。
  • 搜索引擎模式:在精确模式的基础上,对长词语再次切分。

时间和日期

时间元组:

序号字段
04位数年(tm_year)2008
1月(tm_mon)1到12
2日(tm_mday)1到31
3小时(tm_hour)0到23
4分钟(tm_min)0到59
5秒(tm_sec)0到61 (60或61是闰秒)
6一周的第几日(tm_wday)0到6(0是周一)
7一年的第几日(tm_yday)1到366(儒略历)
8夏令时(tm_isdst)-1, 0, 1, -1是决定是否为夏令时的标识

Time 模块

time库是Python中处理时间的标准库,是最基础的时间处理库。

time库的功能如下:
(1)计算机时间的表达
(2)提供获取系统时间并格式化输出功能
(3)提供系统级精确计时功能,用于程序性能分析
格式如下:

import time
time.<b>( )

time库包括三类函数:

  • 时间获取:time()、ctime()、gmtime()、localtime()
  • 时间格式化:strftime()、strptime()、asctime()
  • 程序计时:sleep()、perf_counter()

时间获取

函数说明
time.time( )获取当前时间戳(从世界标准时间的1970年1月1日00:00:00开始到当前这一时刻为止的总秒数),即计算机内部时间值,浮点数。
time.ctime([secs])作用相当于asctime(localtime(secs)),未给参数相当于asctime()
time.gmtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
time.localtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。

1. 其中secs是一个表示时间戳的浮点数,若不提供该参数,默认以time()函数获取的时间戳作为参数。
2. localtime()函数和gmtime()函数都可将时间戳转换为以元组表示的时间对象(struct_time格式),但是localtime()函数得到的是当地时间,gmtime()函数得到的是世界统一时间。

格式化日期:使用time模块的strftime方法time.strftime(format[, t])

日历模块

星期一是默认的每周第一天,星期天是默认的最后一天。

函数描述
calendar.calendar(year,w=2,l=1,c=6)返回一个多行字符串格式的 year 年年历,3 个月一行,间隔距离为 c。 每日宽度间隔为w字符。每行长度为 21* W+18+2* C。l 是每星期行数。
calendar.firstweekday( )返回当前每周起始日期的设置。默认情况下,首次载入 calendar 模块时返回 0,即星期一。
calendar.isleap(year)是闰年返回 True,否则为 False。
calendar.leapdays(y1,y2)返回在Y1,Y2两年之间的闰年总数。
calendar.month(year,month,w=2,l=1)返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
calendar.weekday(year,month,day)返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值