#字符串的倒序输出
s=input()
s=s[::-1]
print(s)
#统计字符个数
s=input()
a=input()
n=s.count(a)
print(n)
#字符串练习
s=input()
print(s.lower()) #小写
print(s.upper()) #大写
t=s.split()
print(t)
print('.'.join(t))
r=s.replace('the','a') #替换
r1=s.replace('the','a',1)# 将字符串s中的第一个'the'替换为'a',替换后的字符串重新命名为r
print(r1)
print(r)
#判断简单数据类型
s=input()
if ('j' or 'J') in s:
print("复数")
elif '.' in s:
print('浮点数')
else:
print('整数')
#一元二次方程求根
import math
a=eval(input())
b=eval(input())
c=eval(input())
d=math.sqrt(b*b-4*(a*c))
if a==0 and b==0:
print("数据有误")
elif a==0:
x=-c/b
elif d<0:
print("无解")
elif d==0:
x1=-b/(2*a)
print(x1)
else:
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
print(x1,x2)
#阶乘和数
n=input()
sumk=0
for i in range(len(n)):
m=int(n[i])
for j in range(1,m):
m=m*j
sumk+=m
if str(sumk)==n:
print('yes')
else:
print('no')
#水仙花数
for i in range(100,1000):
sumk=0
g=i%10
s=i//10%10
b=i//100%10
sumk=g**3+s**3+b**3
if sumk==i:
print(sumk)
#分数序列求和
'''有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和,n由用户输入。'''
n=eval(input())
a,b=2,1
sumk=a/b
for i in range(1,n):
a1=a
a=a+b
b=a1
sumk=a/b+sumk
print(sumk)
#用户登录C
'''实现用户输入用户名和密码,当用户名为 admin或administrator且密码为123456时,
显示“登录成功”,否则显示“登录失败”,登录失败时允许重复输入三次。'''
i=0
while(i<3):
a=input()
b=input()
if((a=='admin' or a=='administrator') and b=='123456'):
print("登录成功")
else:
print("登录失败")
i=i+1
#百分制成绩转换五分制F
try:
a=eval(input())
a=float(a)
except:
print("data error!")
else:
if a<=100.0 and a>=90.0:
print('A')
elif a<90.0 and a>=80.0:
print('B')
elif a<80.0 and a>=70.0:
print('C')
elif a<70.0 and a>=60.0:
print('D')
elif a<60.0 and a>=0.0:
print('E')
else:
print("data error!")
#温度转换异常处理
f=0
c=0
try:
temp=input()
if temp[-1] in ['C','c']:
f=eval(temp[0:-1])*1.8+32
print(str.format("{:.2f}",f)+"F")
elif temp[-1] in ['F','f']:
c=(eval(temp[0:-1])-32)/1.8
print(str.format("{:.2f}",c)+"C")
else:
print("输入错误,末位只能是'C','c','F','f'")
except NameError:
print("试图访问的变量名不存在")
except SyntaxError:
print('存在语法错误')
#判断数据类型
s = input()
try:
s=eval(s) #转换数据
if isinstance(s, int):
print("int")
elif isinstance(s, float):
print("float")
elif isinstance(s, complex):
print("complex")
else:
print("string")
except BaseException:
print("string")
#正整数A+B
s=input()
a,b=s.split(maxsplit=1)
try:
if a.isdigit():
a=int(a)
if not(a in range(1,1001)):
a='?'
else:
a='?'
except:
a='?'
try:
if b.isdigit():
b=int(b)
if not(b in range(1,1001)):
b='?'
else:
b='?'
except:
b='?'
if a == '?' or b == '?':
print('{} + {} = {}'.format(a, b, '?'))
else:
print('{} + {} = {}'.format(a,b,a+b))
#判断素数函数
'''写一个函数isPrime(n)用于判断一个数字n是不是素数,
用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔。'''
import math
def isPrime(n): #判断素数的函数
if n < 2:
return False #0和1不是素数
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
break
# for中的break与int(math.sqrt(n))+1是提高代码效率(减少运行时间)
else:
return True
num = int(input()) #接收用户输入并转成整数
for i in range(num+1):
if isPrime(i):
print(i,end=' ') #在同一行内输出结果,不换行,中间用空格分隔
#汉诺塔
def hanoi_move(n, a, b, c):
"""接收一个表示圆盘数量的整数n和三个表示柱子的字符,打印输出把n个圆盘从第一个柱子移动到第三个柱子的过程。"""
if n == 1: # 终止条件,当只有一个圆盘时,从A移动到C后结束程序
print(a, '-->', c)
return None
else: # 递归调用,每调用一次圆盘次减少一个
hanoi_move(n - 1, a, c, b) # 首先需要把 (N-1) 个圆盘移动到 b
hanoi_move(1, a, b, c) # 将a的最后一个圆盘移动到c
hanoi_move(n - 1, b, a, c) # 再将b的(N-1)个圆盘移动到c
if __name__ == '__main__': # 使前面定义的函数可以被其他模块调用
num = int(input()) # 输入最初圆盘数量
s1, s2, s3 = input().split() # 输入表示柱子的字符,例如输入A B C
hanoi_move(num, s1, s2, s3) # 调用递归函数移动圆盘
#打包传参
def say_hi_multi_parameter(*names): # 括号里填空
"""定义一个不定参数传递函数,可接收不限数量的参数。"""
for name in names: # 遍历输出,观察结果
print(name+",你好!")
say_hi_multi_parameter('孟浩然')
say_hi_multi_parameter('杜甫', '李白', '柳宗元', '李商隐')
#列表的合并与排序
list1=list(map(int,input().split()))
list2=list(map(int,input().split()))
list3=list1+list2
list3=sorted(list3)
print(list3)
#多用户登录(列表)
name=["aaa","bbb","ccc"]
key=["123456","888888","333333"]
n=input()
if n in name:
k=input()
num=name.index(n)
if k == key[num]:
print("succes")
else:
print("fail")
else:
print("无")
#两数之和
'''给定一个整数列表 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,
并返回他们的列表索引。每种输入只需要对应一个答案。但是,你不能重复使用这个数组中同样位置的元素。
如果没找到解,输出“Fail”'''
num=input()
nums =list(map(int, num.strip().split()))
target=eval(input())
la=[]
lb=[]
for i in range(len(nums)):
j=i+1
for j in range(len(nums)):
if target==nums[i]+nums[j] and i!=j:
la.append(i)
lb.append(j)
if len(la)>0:
print(min(la),lb[la.index(min(la))])
else:
print("Fail")
#字典翻转输出
s = input()
try:
d = eval(s)
e = {}
for k in d.keys():
e[d[k]] = k
print(e)
except:
print("输入错误")
#“哥德巴赫猜想”
def Prime(number):
flag = 0
if number <= 1:
return 0
else:
for i in range(2,int(number**0.5)):#number**0.5即根号下number
if number%i == 0:
flag = 1
break
if flag == 1:
return 0
else:
return 1
num = int(input())
for i in range(int(num)):
if Prime(i) == 1 and Prime(num-i) == 1:
print("%s = %s + %s" % (num,i,num-i))
break