2-1.以下程序的输出结果是:
t = 'gone with wind'
t = t[:4] + ' after ' + t[:-4]
print(t)
答案:A.gone after gone with
2-2.以下程序的输出结果为:
str1 = "Runoob example....wow!!!"
str2 = "exam"
print(str1.find(str2, 5))
答案:B.7
解析:
在这个程序中,str1 是一个字符串,包含文本 "Runoob example....wow!!!",str2 是要查找的子字符串 "exam"。print 语句调用了字符串方法 find(),并传递了两个参数:要查找的子字符串 "exam" 和一个起始位置 5。
在这个示例中,find() 方法从字符串 str1 的第 5 个字符开始查找子字符串 str2。由于子字符串 "exam" 存在于 str1 中,因此 find() 方法返回第一次出现子字符串 "exam" 的位置,即在字符串 str1 的第 7 个位置(注意字符串中的位置从 0 开始计数)。因此程序输出结果为 7。
2-3.设s="Happy New Year",则s[3:8]的值为()。
答案:C.'py Ne'
2-4.有url="www.sina.com.cn",表达式url.strip('www')的值是【】
答案:B. .sina.com.cn
解析:strip() 方法用于从字符串的开头和结尾删除指定的字符,默认情况下删除空格字符。在这个例子中,参数 'www' 指定要从字符串 url 的开头和结尾删除的字符。因为 'www' 仅在字符串 url 的开头出现,所以 strip() 方法只会删除开头的 'www' 字符串,返回值为 ".sina.com.cn"。
2-5.print("hello,world".split(‘o’)
的结果是
答案:C.[‘hell’,’,w’,’rld’]
2-6.字符串tstr=’television’,显示结果为vi的选项是( )。
答案:A.print(tstr[-6:6])
2-7.Python中“ab ”+“cd”*2的结果是( )。
答案:C.abcdcd
2-8.已知字符串a="python",则a[1]的值为( ).
答案:D."y"
2-9.x=100,y=3,x//y的值是()。
答案:D.33
2-10.语句x = 3==3, 5执行结束后,变量x的值为_______。
答案:C.(True, 5)
解析:表达式 3 == 3
的值为 True,而 ,
运算符用于创建一个元组。因此,x = 3==3, 5
将创建一个包含两个元素的元组,第一个元素是 3 == 3
的值 True,第二个元素是整数 5。
因此,变量 x 的值为一个元组 (True, 5)
。
2-11.在Python中,下列语句非法的是( )。
答案:C.x=(y=z=1)
2-12.表达式"abc" in "abdcna" 的值是( )。
答案:B.False
2-13.表达式1234%100的值是( )。
答案:B.34
2-14.表达式1234%100//10的值是( )。
答案:C.3
2-15.给定x = 5,y = 3,z = 8,表达式 x < y or z > x的结果是( )。
答案:A.true
2-16.Python语言中,运算对象最好都为整数的运算符是( )。
答案:D(不确定)
2-17.表达式3 < 5 <2 的计算结果是:( )。
答案:B.False
解析:表达式 3 < 5 < 2
在 Python 中会被解释为 (3 < 5) and (5 < 2)
,其中 and
是逻辑与运算符。因为逻辑与运算符要求两个操作数都为 True,否则返回 False,所以这个表达式的结果为 False。
2-18.若x=-3,y=4, 则下列关系式结果为 False 的是( )。
答案:B.x>0 and y>0
2-19.x=2, y=3, 执行x,y=y,x之后,x,y的值分别是( )。
答案:B.3,2
2-20.执行 s = input()
,在键盘上输入3,以下哪条语句能正确输出12?()
答案:D.print(eval(s)*4)
4-1.表达式 ':'.join('abcdefg'.split('cd'))的值为_____。
答案:ab:efg
解析:首先,'abcdefg'.split('cd') 将会返回一个列表,其中包含所有按照子字符串 'cd' 分割后的子字符串。在这种情况下,列表为 ['ab', 'efg']。
然后,使用 ':' 连接列表中的所有字符串,即可得到结果。在 Python 中,可以使用字符串的 join()
方法来实现这一点。因此,表达式 ':'.join('abcdefg'.split('cd')) 的值为 'ab:efg'。
4-2.字符串的upper()函数(高教社《Python编程基础及应用》习题2-2)
写出下述程序的执行结果。
sName1 = "john miller"
print("1:",sName1.upper())
print("2:",sName1)
执行结果第1行:
执行结果第2行:
提示:print( )函数会自动在每个输出参数之间加上一个空格。
答案:1: JOHN MILLER
2: john miller
4-3.print("{:>08s}".format(bin(31)[2:]))
的输出是
答案:00011111
解析:在这个表达式中,bin(31)
返回整数 31 的二进制表示形式字符串,即 '0b11111'。
然后,使用字符串的 format()
方法,使用 {:>08s}
格式说明符将字符串右对齐并填充 0,使其总宽度为 8 个字符。
因此,"{:>08s}".format(bin(31)[2:])
的输出结果为字符串 '00011111'。
因此,print("{:>08s}".format(bin(31)[2:]))
的输出是 '00011111'。
4-4.join()函数连接字符串(高教社,《Python编程基础及应用》习题10-1)
请写出下述程序的执行结果:
s = [str(x) for x in range(2,35,7)]
print(",".join(s))
执行结果为:
答案:2,9,16,23,30
4-5."a7a8a9".replace("a", "A")的值是
答案:A7A8A9
4-6.'23'*3的结果是 (答案不要加引号)
答案:232323
4-7.print("{1}+{0}={2}".format(2,3,2+3))的输出是 (答案不要加引号)
答案:3+2=5
4-8.print("a123".isdigit())的输出是 (字母大小写敏感)
答案:False
解析:"a123"
是一个包含字母和数字的字符串,而 isdigit()
方法用于判断字符串是否只包含数字字符。因此,"a123".isdigit()
的返回值为 False
。
4-9.Python 语句 print(hex(16), bin(10))的输出结果是(进制用小写字母表示)
答案:0x10 0b1010
解析:
hex(16)
返回十六进制数 16 的字符串表示形式,即 '0x10'
,其中 '0x'
表示这是一个十六进制数的标识。
bin(10)
返回十进制数 10 的二进制表示形式的字符串,即 '0b1010'
,其中 '0b'
表示这是一个二进制数的标识。
因此,print(hex(16), bin(10))
的输出结果为 0x10 0b1010
。
4-10.Python 表达式 3**2**3
的值为
答案:6561
7-1 计算有n个字符串中最长的字符串长度
编写程序,用于计算有n(1<n<10)个字符串中最长的字符串的长度。前导空格不要计算在内!
输入格式:
在第一行中输入n,接下的每行输入一个字符串
输出格式:
在一行中输出最长的字符串的长度
输入样例:
在这里给出一组输入。例如:
4
blue
yellow
red
green
输出样例:
在这里给出相应的输出。例如:
length=6
代码示例
n = int(input())
max_length = 0
for i in range(n):
s = input().lstrip()
if len(s) > max_length:
max_length = len(s)
print("length={}".format(max_length))
7-2 转换函数使用
输入一个整数和进制,转换成十进制输出
输入格式:
在一行输入整数和进制
输出格式:
在一行十进制输出结果
输入样例:
在这里给出一组输入。例如:
45,8
输出样例:
在这里给出相应的输出。例如:
37
代码示例
s, base = input().split(',')
s = s.strip()
base = int(base.strip())
n = int(s, base)
print(n)
7-3 平方根格式化
要求:
获得用户输入的一个整数a,计算a的平方根,保留小数点后3位, 并打印输出。
输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充,结果如果超过30个字符,则以结果宽度为准。
输入输出示例:
输入样例
10
输出样例
+++++++++++++++++++++++++3.162
代码示例
a = int(input())
sqrt = pow(a,0.5)
print("{:+>30.3f}".format(sqrt))
7-4 号码牌的制作
打印一个号码牌。号码牌由边框和号码构成,组成边框的字符分为角落字符,水平字符和垂直字符。
输入格式:
输入一个字符(如:+-|2008161876)串,字符串的前三个字符分别代表组成边框的角落字符,水平字符和垂直字符,从第四个字符开始到最后表示号码数字。
输出格式:
打印出由边框包围的号码。如:
输入样例:
在这里给出一组输入。例如:
#=$2020
输出样例:
在这里给出相应的输出。例如:
#====#
$2020$
#====#
输入样例:
在这里给出一组输入。例如:
+-*20191234
输出样例:
在这里给出相应的输出。例如:
+--------+
*20191234*
+--------+
代码示例
s = input()
corner = s[0]
hor = s[1]
ver = s[2]
num = s[3:]
num_width = len(num)
num_height = 1
num_row = num
hor_row = corner + hor * num_width + corner
result = hor_row+"\n"+ver + num_row + ver+"\n"+hor_row
print(result)
7-5 重复打印
要求重复打印字符或文字
输入格式:
如输入“x个y”
输出格式:
重复打印y字符,次数为x次
输入样例:
在这里给出一组输入。例如:
3个A
输出样例:
在这里给出相应的输出。例如:
AAA
输入样例:
在这里给出一组输入。例如:
5个人
输出样例:
在这里给出相应的输出。例如:
人人人人人
代码示例
x,y=input().split("个")
x=int(x)
for i in range(x):
print(y,end='')
7-6 交换两实数的整数部分
输入两个实数,将其整数部分交换后输出,结果保留2位小数。
输入格式:
输入2个实数A和B。
输出格式:
输出交换整数部分之后的两个实数。数据之间以一个“,”分隔。
输入样例:
23.45 54.22
输出样例:
54.45,23.22
代码示例
a, b = map(float, input().split())
a_str, b_str = str(a), str(b)
a_int, a_decimal = a_str.split('.')
b_int, b_decimal = b_str.split('.')
a_int, b_int = b_int, a_int
new_a = float(a_int + '.' + a_decimal)
new_b = float(b_int + '.' + b_decimal)
print("{:.2f},{:.2f}".format(new_a, new_b))
7-7 三角形判定
给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。
输入格式:
一行包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。
输出格式:
如果能构成三角形,则输出“yes” ,否则输出“no”。
输入样例:
样例1
3 4 5
样例2
3 3 6
输出样例:
样例1
yes
样例2
no
代码示例
a, b, c = map(int, input().split())
if a + b > c and a + c > b and b + c > a:
print('yes')
else:
print('no')
7-8 词组缩写
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。 WHO就是World Health Organization的缩写。
输入格式:
测试数据占一行,有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成; 单词长度不超过10,由一个或多个空格分隔这些单词。
输出格式:
输出规定的缩写
输入样例:
World Health Organization
输出样例:
WHO
代码示例
s = input().split()
ans = ''
for word in s:
ans += word[0].upper()
print(ans)
7-9 身份证号判断性别与出生日期
早期中国的居民身份证由15位数字后来组成。国务院决定自1999年10月1日起公民身份证号码由15位升至18位。
15位居民身份证号码是由15位得数字组成,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码(年份月份日期都是两位),三位数字顺序码。三位数字顺序码男性使用1、3、5、7、9等奇数,女性使用2、4、6、8、0等偶数。
18位居民身份证号码排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(男性使用1、3、5、7、9等奇数,女性使用2、4、6、8、0等偶数)和一位数字校验码。
身份证号码可以用正则表达式判断是否合法,也可以用字符串判断来判断。
从键盘输入一串15位 或18位的字符串。
首先判断该字符串中表示日期的字符串是否符合日期字符串,若不符合则给出提示。
例如 输入:3501021990229403X, 则输出:Error,日期不合法
若日期合法则认为该字符符合中国的居民身份证编码(本题假设除了日期有可能输错,其他不会输错)
若输入字符是15位符合中国的居民身份证编码,则输出性别 与 以类似于“1990年10月01日”的形式的出生日期。
例如:输入350102901001402,则输出:女,1990年10月01日
若输入字符是18位符合中国的居民身份证编码,则输出性别 与 以类似于“2000年10月01日”的形式的出生日期。
例如:输入35010220001001403X,则输出:男,2000年10月01日
{特别备注说明:本题考核点为字符串应用,在测试样例中给出否让身份证号码只符合上述规则,没有判断区号与验证码是否有意义,未经过身份证验证接口API(公安部实时接口)验证}
输入格式:
键盘读入一串字符串
输出格式:
输出相应的结果
输入样例1:
在这里给出一组输入。例如:
35010219990229401X
输出样例1:
在这里给出相应的输出。例如:
Error,日期不合法
输入样例2:
在这里给出一组输入。例如:
350102901001412
输出样例2:
在这里给出相应的输出。例如:
女,1990年10月01日
输入样例3:
在这里给出一组输入。例如:
35010220001001403X
输出样例3:
在这里给出相应的输出。例如:
男,2000年10月01日
代码示例
str =input()
l = len(str)
def 性别(str):
if l == 15:
str = int(str[-1])
if l == 18:
str = int(str[-2])
if str in [1,3,5,7,9]:
sex = '男'
else:
sex = '女'
return sex
def 日期合法性(n,y,r):
month = [0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if(y<=0 or y>12 or r<=0 or r>31):
return 0
elif(n%4 == 0 and n%100 != 0 or n%400==0):
month[2] += 1
return r <= month[y]
def 提取日期(str,l):
global tem,n,y,r
if l == 15:
str = str[6:12]
n = "19"+str[0:2]
y = str[2:4]
r = str[4:6]
tem = "{0}年{1}月{2}日".format(n, y, r)
n = int(n);y = int(y);r = int(r)
if l == 18:
str = str[6:14]
n = str[0:4]
y = str[4:6]
r = str[6:8]
tem = "{0}年{1}月{2}日".format(n, y, r)
n = int(n);y = int(y);r = int(r)
def 身份(str,l):
提取日期(str, l)
if 日期合法性(n,y,r):
print(性别(str),tem,sep=',')
else:
print("Error,日期不合法")
身份(str,l)
7-10 时间转换输出
输入一个以秒为单位的整数,转换为小时、分和秒输出。输出格式见样例。(以24小时制显示)
输入格式:
输入一个整数。
输出格式:
输出小时 :分 :秒,各部分输出之间有一个空格
输入样例:
在这里给出一组输入。例如:
11730
输出样例:
在这里给出相应的输出。例如:
3 : 15 : 30
代码示例
a = int(input())
h = (a//3600)%24
m = (a%3600)//60
s = a%3600%60
print("%d : %d : %d"%(h,m,s))
停留在世界边缘,与之惜别