3.10
简单 a+b
输入两个整数A和B,范围不超过2^10
while True:
try:
a,b=map(int,input().strip().split())
print(a+b)
except:
break
Python中map的用法
map
Python strip()方法
strip
split方法
split
简单 密码破译
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
例如,字母"A"后面第4个字母是"E".“E"代替"A”。因此,“China"应译为"Glmre”。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
str=input()
for i in str:
print(chr(ord(i)+4),end='')
中等 母牛的故事
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
while True:
n=int(input())
lis=[1,2,3] #前三年的数量列表
if n==0: #结束输入
break
else:
for i in range(3,n):
lis.append(lis[i-1]+lis[i-3]) #数量关系
print(lis[n-1])
简单 三个数里找最大值
a=list(map(int,input().split()))
a.sort()
print(a[len(a)-1])
成绩评定
给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
字典推导,一键取值
print({k:v for k,v in zip(list(range(101)),list('E'*60+'D'*10+'C'*10+'B'*10+'A'*11))}.get(int(input())))
lambda三元!直接打印
print((lambda x:'A' if x>=90 else 'B' if x>=80 else 'C' if x>=70 else 'D' if x>=60 else 'E')(int(input())))
入门 数字的处理与判断
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
sum=input()
# len()==>内置函数,求字符串长度。
print(len(sum))
#列表存放数字来打印
sum_list=list(sum)
# ★input输入的是字符串字型而不是数字,所以有时候要转换为数字的话
# d=map(int,sum_list)
# print(d) # 网上一些作者只是这样写的,但是这样只是打印出该地址。
# print(list(d)) #这样才是把字符串(字符串列表)转换为数字列表。
# ★也可以这样
# new = list(map(int,sum)
# print(new
for j in sum_list:
print(j,end=" ")
# ""==>里面要打空格,否则内容会紧挨一起。抑制换行效果。
print()
# 起换行效果
print(sum[::-1])
# 倒序输出,【开始:结束:步长】,步长为负数,即倒序。
# ▲倒序所有的话,<结束>不要写,不能写0,切片左闭右开,
筛法求素数
n=int(input())
primes=[]
alist=[True]*(n+1) #创建一个有n+1个True的列表
for i in range(2,n+1):
if alist[i]: #将i代入is_prime列表中,如果true则执行,如果false则不执行
primes.append(i)
#用当前素数i去筛掉所有能被它整除的数
for j in range(i*2,n+1,i): #依次取i的倍数; 从i*2开始循环到n+1,步长为i;
alist[j]=False
for i in range(len(primes)):
print(primes[i])
字符逆序
两种思路
- 切片法
x=input("")
x=x[::-1] #列表切片,逆序输出
print(x)
- 列表反转法
l=input().split()
p=[] #新建列表
for i in range(len(l)):
k=list(l[i]) #将每一个单词建成一个列表
k.reverse() #反转
m=''.join(k)
p.append(m) #添加至新列表中
p.reverse()
print(' '.join(p)) #注意引号中间是空格,用空格连接每一个单词
简单 1094 字符串的输入与输出处理
输入
第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。
输出
先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。
错解
def fun():
times = int(input()) #次数
str = []
if times<0 and times>100:
return 0
str1 = input()
while str1 != "": #输入停止的条件
str.append(str1) #输入的字符串存到列表str中
str1 = input()
for i in range(0,times): #times 原样输出
print(str[i])
for i in range(times,len(str)): #以空格分隔输出
str2 = str[i].split()
for j in str2:
print(j)
fun()
注意题意是在一边输入一边输出,不是全部输入之后再输出
正解
n=int(input())
for i in range(n):
x=input()
print(x)
print()
while True:
x=input().split()
for i in x:
print(i)
print()
n=int(input())
while True:
if n>0:
print(input(),end='\n\n')
else:
for i in list(input().split()):
print(i,end='\n\n')
n-=1