# -*- coding: utf-8 -*-
#本编程题来自中国大学MOOC北京理工大学嵩天、黄天羽和礼欣三位老师所授《Python语言程序设计》
#本编程题目版权归中国大学MOOC北京理工大学嵩天老师、黄天羽老师和礼欣老师所有。
#强烈推荐童鞋们参与学习该课程，该课程教学质量极高。本编程题答案仅供参考。
#本课程学习网站 http://www.icourse163.org/course/BIT-268001

"""                         练习1: Python基本语法元素 (第1周)                 """
     
"""---------------------------------------------------------------------------
第一题
输出Hello World，注意大小写。
"""
#参考答案代码
print ('Hello World')


"""---------------------------------------------------------------------------
第二题
垂直输出"Hello World"，全部代码不超过2行。
"""
#参考答案代码
for i in "Hello World":
    print (i)


"""---------------------------------------------------------------------------
第三题
编写一个程序，计算输入数字N的0次方到5次方结果，并依次输出这6个结果，输出结果间用空格分隔。
其中：N是一个整数或浮点数。
"""
#参考答案代码
a = input()
b = eval (a)
print (b**0,b**1,b**2,b**3,b**4,b**5)


"""---------------------------------------------------------------------------
第四题
温度的刻画有两个不同体系：摄氏度（Celsius）和华氏度（Fabrenheit）。
请编写程序将用户输入华氏度转换为摄氏度，或将输入的摄氏度转换为华氏度。
转换算法如下：（C表示摄氏度、F表示华氏度）
         C = ( F - 32 ) / 1.8
         F = C * 1.8 + 32
要求如下：
(1)输入输出的摄氏度采用大写字母C开头，温度可以是整数或小数，如：C12.34指摄氏度12.34度；
(2)输入输出的华氏度采用大写字母F开头，温度可以是整数或小数，如：F87.65指摄氏度87.65度；
(3)不考虑异常输入的问题，输出保留小数点后两位；
(4)使用input()获得测试用例输入时，不要增加提示字符串。
"""
#参考答案代码
TempStr=input()
if TempStr[0] in 'C':
    Fab=eval(TempStr[1:])*1.8+32
    print ('F{:.2f}'.format(Fab))
elif TempStr[0] in 'F':
    Cel=(eval(TempStr[1:])-32)/1.8
    print ('C{:.2f}'.format(Cel))
else:
    print ('格式错误，请重新输入')


"""---------------------------------------------------------------------------
第五题
人民币和美元是世界上通用的两种货币之一，写一个程序进行货币间币值转换，其中：
人民币和美元间汇率固定为：1美元 = 6.78人民币。
程序可以接受人民币或美元输入，转换为美元或人民币输出。
人民币采用RMB表示，美元USD表示，符号和数值之间没有空格。
注意：这是一个OJ题目，获得输入请使用input() 
"""
#参考答案代码
CurrStr=input()
if CurrStr[0] in 'R':
    USD=eval(CurrStr[3:])/6.78
    print ('USD{:.2f}'.format(USD))
elif CurrStr[0] in 'U':
    RMB=eval(CurrStr[3:])*6.78
    print ('RMB{:.2f}'.format(RMB))
else:
    print ('格式错误，请重新输入')


"""                         练习2: Python基本图形绘制 (第2周)                 """

"""---------------------------------------------------------------------------
第一题
使用turtle库，绘制一个正方形。
"""
#参考答案代码
import turtle as t
for i in range(4):
    t.fd(100)
    t.left(90)


"""---------------------------------------------------------------------------
第二题
使用turtle库，绘制一个六边形。
"""
#参考答案代码
import turtle as t
for i in range(6):
    t.fd(100)
    t.left(60)


"""---------------------------------------------------------------------------
第三题
使用turtle库，绘制一个叠边形，其中，叠边形内角为80度。
"""
#参考答案代码
import turtle as t
for i in range(9):
    t.forward(100)
    t.left(80)


"""---------------------------------------------------------------------------
第四题
使用turtle库，绘制一个同切圆。
"""
#参考答案代码
import turtle as t
for i in range(4):
    t.circle(10*i+100)


"""---------------------------------------------------------------------------
第五题
请编写程序，完成米和英寸之间的长度转换，基本需求如下：
输入英寸，转换成米；
输入米，转换成英寸。
英寸采用in标记，放在数值结尾；米采用m标记，放在数值结尾。
1 米 = 39.37 英寸
输入参数请使用input()，不要增加提示字符串信息。
"""
#参考答案代码
lencon=input()
if lencon[-1] == "m":
    in_form=eval(lencon[:-1])*39.37
    print ("{:.3f}in".format(in_form))
elif lencon[-1] == "n":
    m_form=eval(lencon[:-2])/39.37
    print ("{:.3f}m".format(m_form))
    
else:
    print ("格式错误，请重新输入")


"""                         练习3: 基本数据类型 (第3周)                 """

"""---------------------------------------------------------------------------
第一题
获得用户输入的一个整数N，计算N的平方值；
结果采用宽度20字符方式居中输出，空余字符采用减号(-)填充。
如果结果超过20个字符，则以结果宽度为准。
"""
#参考答案代码
scale=20
x=input()
y=pow(eval(x),2)
print (str(y).center(scale,"-"))


"""---------------------------------------------------------------------------
第二题
读入一个整数N，分别计算如下内容：
1. N的绝对值；
2. N与10进行同符号加法、减法和乘法运算，同符号运算指使用N的绝对值与另一个数进行运算，
运算结果的绝对值被赋予N相同的符号，其中，0的符号是正号。
将上述4项结果在一行输出，采用空格分隔，输出结果均为整数。
"""
#参考答案代码
x=input()
x_abs=abs(eval(x))
if eval(x)==x_abs:
    x_plus=x_abs+10
    x_minus=abs(x_abs-10)
    x_mul=x_abs*10
else:
    x_plus=(abs(x_abs+10))*(-1)
    x_minus=(abs(x_abs-10))*(-1)
    x_mul=x_abs*(-10)
print (str(x_abs)+" "+str(x_plus)+" "+str(x_minus)+" "+str(x_mul))


"""---------------------------------------------------------------------------
第三题
一年365天，以第1天的能力值为基数，记为1.0。
当好好学习时，能力值相比前一天提高N‰；当没有学习时，能力值相比前一天下降N‰。
每天努力或放任，一年下来的能力值相差多少呢？
其中，N的取值范围是0到100，N可以是小数，假设输入符合要求。
获得用户输入的N，计算每天努力和每天放任365天后的能力值及能力间比值，
其中，能力值保留小数点后2位，能力间比值输出整数，输出结果间采用英文逗号分隔。
使用input()获得N。
"""
#参考答案代码
x_input=input()
x=eval(x_input)
y_work=pow(1+x/1000,365)
y_play=pow(1-x/1000,365)
y_ratio=int(y_work/y_play)
print ("{:.2f},{:.2f},".format(y_work,y_play)+str(y_ratio))


"""---------------------------------------------------------------------------
第四题
读入一个整数N，N是奇数，输出由星号字符组成的等边三角形，要求：
第1行1个星号，第2行3个星号，第3行5个星号，依次类推，最后一行共N的星号。
"""
#参考答案代码
x_input=input()
x_int=eval(x_input)
x=int((x_int+1)/2)
width=x_int
for i in range(x):
    print (((2*i+1)*"*").center(width))


"""---------------------------------------------------------------------------
第五题
凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法，
它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符，
即，字母表的对应关系如下：
原文：A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文：D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P，其密文字符C满足如下条件：C=(P+3) mod 26
上述是凯撒密码的加密方法，解密方法反之，即：P=(C-3) mod 26
假设用户可能使用的输入仅包含小写字母a~z和空格，请编写一个程序，对输入字符串进行凯撒密码加密，
直接输出结果，其中空格不用进行加密处理。使用input()获得输入。
"""
#参考答案代码
P=input()
P_length=len(P)
C=""
for i in range(P_length):
    if P[i]==" ":
        C=C+P[i]
    elif P[i] in "xyz":
        C=C+chr(ord(P[i])-23)
    else:
        C=C+chr(ord(P[i])+3)
print (C)


















