输入一行,代表要计算的字符串,非空,长度小于5000。 输出一个整数,表示输入字符串最后一个单词的长度。
s_ = input()
last_word = s_.split(' ')[-1]
print(len(last_word))
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写。 第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。 输出输入字符串中含有该字符的个数。
s_ = input()
word_ = input().upper()
times = 0
for w in s_.upper():
if w == word_:
times += 1
print(times)
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。
第一组是3个数字,分别是:2,2,1。 第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。
先输入N,再输入N个整数,然后对N个整数去重排序后输出
while True:
try:
N = int(input())
input_set = set()
for _ in range(N):
random_ = int(input())
input_set.add(random_)
input_list = list(input_set)
input_list.sort()
for s in input_list:
print(s)
except:
break
- 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
- 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
while True:
try:
s = input()
for i in range(0, len(s), 8):
s_sub = s[i:i+8]
if len(s_sub) < 8:
s_sub += '0' * (8-len(s_sub))
print(s_sub)
except:
break
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入一个十六进制的数值字符串。输出该数值的十进制字符串。
while True:
try:
s_16 = input()
print(eval(s_16))
except:
break
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 ) 最后一个数后面也要有空格
def find(number):
flag = True
for i in range(2, int(number ** 0.5 + 2)):
if number % i == 0:
flag = False
print(str(i), end=" ")
find(int(number / i))
break
if flag:
print(number, end=' ')
num = int(input())
find(num)
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
num = eval(input())
if num - int(num)>=0.5:
print(int(num) + 1)
else:
print(int(num))
数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
先输入键值对的个数 然后输入成对的index和value值,以空格隔开
输出合并后的键值对(多行)
N = int(input())
dict_ = {}
for _ in range(N):
k, v = input().split(' ')
dict_[int(k)] = dict_.get(int(k), 0) + int(v)
for item in sorted(dict_):
print('{} {}'.format(item, dict_[item]))
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 保证输入的整数最后一位不是0。
s = input()
ans = list()
for i in range(len(s)-1, -1, -1):
if s[i] not in ans:
ans.append(s[i])
print(''.join(ans))
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次 例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。
s = input()
ans = set()
for item in s:
if ord(item) >= 0 and ord(item) <= 127:
ans.add(item)
print(len(ans))
输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
s = input()
ans = []
for i in range(len(s)-1, -1, -1):
ans.append(s[i])
print(''.join(ans))
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
s = input()
ans = []
for i in range(len(s)-1, -1, -1):
ans.append(s[i])
print(''.join(ans))
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
s = input()
s = s.split(' ')
ans = []
for i in range(len(s)-1, -1, -1):
ans.append(s[i])
print(' '.join(ans))
给定n个字符串,请对n个字符串按照字典序排列。
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
数据输出n行,输出结果为按照字典序排列的字符串。
N = int(input())
ans = []
for i in range(N):
s = input()
ans.append(s)
ans.sort()
for item in ans:
print(item)
输入一个int型的正整数,计算出该int型数据在内存中(这个数转换成2进制后,输出1的个数)存储时1的个数。
num = int(input())
s = str(bin(num))
times = 0
for i in range(2, len(s)):
if s[i] == '1':
times+=1
print(times)
密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
dict_ = {'1': '1', '0': '0', 'a': '2', 'b': '2', 'c': '2', 'd': '3', 'e': '3', 'f': '3', 'g': '4', 'h': '4', 'i': '4', 'j': '5', 'k': '5', 'l': '5', 'm': '6', 'n': '6', 'o': '6', 'p': '7', 'q': '7', 'r': '7', 's': '7', 't': '8', 'u': '8', 'v': '8', 'w': '9', 'x': '9', 'y': '9', 'z': '9'}
ans = []
password = input()
for s in password:
if s.isupper():
# 大写转换为小写 向后推一位
s = s.lower()
if s == 'z':
s = 'a'
else:
s = chr(ord(s) + 1)
ans.append(s)
elif s.islower():
# 小写转换为数字
s = dict_.get(s)
ans.append(s)
elif s.isdigit():
# 数字不变
ans.append(s)
print(''.join(ans))
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
while True:
try:
nums = int(input())
ans = 0
while nums >= 3:
m = nums % 3
n = nums // 3
ans += n
nums = m + n
if nums == 2:
ans += 1
if ans:
print(ans)
except:
break
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 注意每个输入文件有多组输入,即多个字符串用回车隔开
输入
abcdd
aabcddd
输出
dd
aaddd
统计字符串中每个字符出现的次数,对字典进行value排序,确定要删除的字符
import sys
lines = sys.stdin.readlines()
for line in lines:
line = line.replace('\n', '')
s_count = {}
for s in line:
s_count[s] = s_count.get(s, 0) + 1
l = sorted(s_count.items(), key=lambda x: x[1])
min_ = l[0][1]
for item in l:
if min_ != item[1]:
break
line = line.replace(item[0], '')
print(line)
定义一个单词的“兄弟单词”为:交换该单词字母顺序,而不添加、删除、修改原有的字母就能生成的单词。 兄弟单词要求和原来的单词不同。例如:ab和ba是兄弟单词。ab和ab则不是兄弟单词。 现在给定你n个单词,另外再给你一个单词str,让你寻找str的兄弟单词里,字典序第k大的那个单词是什么? 注意:字典中可能有重复单词。本题含有多组输入数据。
输入
3 abc bca cab abc 1
输出
2
bca
line = input()
list_ = line.split(' ')
K = int(list_[-1])
s_ = list_[-2]
def is_brother(s1, s2):
if len(s1) != len(s2):
return False
if s1 == s2:
return False
s1_dict = {}
for s in s1:
s1_dict[s] = s1_dict.get(s, 0) + 1
s2_dict = {}
for s in s2:
s2_dict[s] = s2_dict.get(s, 0) + 1
if s1_dict == s2_dict:
return True
return False
ans = []
for word in list_[1:-2]:
if is_brother(word, s_):
ans.append(word)
ans.sort()
print(len(ans))
# 非常重要,注意审题
if len(ans) >= K:
print(ans[K-1])
1、对输入的字符串进行加解密,并输出。
2、加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。
注意奇数输入为加密,偶数输入为解密
def encode_s(s):
ans = []
for item in s:
if item.isdigit():
ans.append(str((int(item) + 1) % 10))
elif item.isupper():
if item == 'Z':
ans.append('a')
else:
ans.append(chr(ord(item) + 1).lower())
elif item.islower():
if item == 'z':
ans.append('A')
else:
ans.append(chr(ord(item) + 1).upper())
return ''.join(ans)
def decode_s(s):
ans = []
for item in s:
if item.isdigit():
if item == '0':
ans.append('9')
else:
ans.append(str(int(item) - 1))
elif item.isupper():
if item == 'A':
ans.append('z')
else:
ans.append(chr(ord(item) - 1).lower())
elif item.islower():
if item == 'a':
ans.append('Z')
else:
ans.append(chr(ord(item) - 1).upper())
return ''.join(ans)
count = 0
while True:
try:
s = input()
count += 1
if count % 2 == 0:
print(decode_s(s))
else:
print(encode_s(s))
except:
break