a = input()
if a[0] in ['$']:
R = (eval(a[1:])) * 6.78
print("¥{:.2f}".format(R))
elif a[0:3] == 'USD':
R = (eval(a[3:])) * 6.78
print("RMB{:.2f}".format(R))
elif a[0] in ['¥']:
U = (eval(a[1:])) / 6.78
print("${:.2f}".format(U))
elif a[0:3] == 'RMB':
U = (eval(a[3:])) / 6.78
print("USD{:.2f}".format(U))
描述
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
def get(m):
ms = str(m)
sum = 0
for i in ms:
sum += int(i)**2
return sum
def main():
n = eval(input())
while n != 1 and n!=4:#或 n not in [1,4,16,37,58,89,145,42,20]
n = get(n)
else:
if n == 1:
print("True")
else :
print("False")
main()
描述
“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。
注意:这是一个OJ题目,输出格式要严格一致,最后一位水仙花数后没有逗号。
a = []
for i in range(100,1000):
sum = 0
n = i
while i!=0:
sum += (i%10)**3
i = i//10
if sum == n:
a.append(n)
for x in a:
if x == a[-1]:
print(x)
else:
print(x, end = ', ')
描述
恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,
现改进凯撒加密方法, 假设用户可能使用的输入仅包含西文字母,即英文大小写字母azAZ, 数字和特殊字符,请编写一个程序,对输入字符串进行加密,直接输出结果,其中特殊字符不进行加密处理。
原文:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
密文:3456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012
对于原文字符P,其密文字符C满足如下条件:C = (P+3) mod 62
上述是凯撒密码的加密方法,解密方法反之,即:P = (C-3) mod 62
a=input("")
b="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
for i in range(len(a)):
isok=0
if(a[i]==" "):
print(" ",end="")
continue
for j in range(len(b)):
if(a[i]==b[j]):
j=(j+3)%62
isok=1
print(b[j],end="")
break
if(isok==0):
print(a[i],end="")
描述
用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:
配对成功,配对不成功
其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。
注意,这是一个OJ题目,获得输入使用input("")。
s = input("")
a = 0
for i in s:
if i== '(':
a += 1
elif i== ')':
if a>0:
a -= 1
else:
print("配对不成功")
break
else:
if a!=0:
print("配对不成功")
else:
print("配对成功")
描述
设某单位收取水费的规定是:
每月用水量w<=10吨时,每吨按0.32元计费;
每月用水量w<=20吨时,超过10吨的部分每吨按0.64元计费,10吨以内仍然按每吨0.32元计费;
每月用水量w>20吨时,超过20吨部分每吨按0.96元计费,20吨以内仍按原标准计费。
编写程序根据用户输入的用水量w计算水费x并输出。
注意:自动评阅,输入输出不要加提示字符。
使用如下所示的输入输出语句:
w=eval(input())
print(x)
w = eval(input())
s = 0
if w<=10:
s += w*0.32
elif 10<w<=20:
s = (w-10)*0.64+10*0.32
else:
s = (w-20)*0.96+10*0.64+10*0.32
print(s)
描述
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,sum=1+11+111=123。
输入格式
两行,第一行输入一个整数A,且该数介于1至9之间(包含1和9)
第二行输入一个非负整数N,不超过100000
输出格式
输出其N项数列之和sum的值。
n = eval(input())
m = int(input())
sum = 0
s = 0
for i in range(m):
s = s + pow(10,i)*n
sum += s
print(sum)
例如:
(1)输入:3 4 5,输出:C=12.0,S=6.0
(2)输入:1 2 3,输出:“无法构成三角形”
三条边能构成三角形的条件是:(1)每条边均大于0,(2)任意两条边之和大于第三边
a = int(input())
b = int(input())
c = int(input())
C = 0.0
S = 0.0
p = 0.0
if a>0 and b>0 and c>0 and a+b>c and a+c>b and b+c>a:
C = a+b+c
print("C={:.1f}".format(C))
p = C/2.0
S = pow((p*(p-a)*(p-b)*(p-c)),0.5)
print("S={:.1f}".format(S))
else:
print("无法构成三角形")
描述
输入n,输出2*n-1行的菱形图形
输入输出示例
输入 输出
示例1 2
*
***
*
示例2 4
*
***
*****
*******
*****
***
*
n = int(input())
for i in range(n):
for j in range(n-i-1):
print(" ",end="")
for x in range(2*i+1):
print("*",end="")
print("\n")
for i in range(n-1):
for j in range(i+1):
print(" ",end="")
for k in range(2*(n-i)-3):
print("*",end="")
print("\n")
输入一个正整数n,Sn=1-2+3-4+5-6…+x*n; x=1或者-1.
n = int(input())
sum = 0
for i in range(n):
sum += (-1)*((-1)**(i+1))*(i+1)
print(sum)
描述
输入一个整数列表a,并输入一个整数x,删除列表中所有值为x的数,再输出列表。
a = input().split(",")
a1 = [int(a[i]) for i in range(len(a))]
x = int(input())
for i in range(len(a1)-1,-1,-1):
if a1[i]==x:
a1.remove(x)
print(a1)
1)编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。
2)输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{‘a’: 2, ‘b’: 2, ‘c’: 1, ‘1’: 1}。
3)输入代码并提交解答。
str=input()
r={}
for i in str:
r[i]=str.count(i)
print(r)
描述
已知字典:dt = {“姓名”:[“张唐”,“李丽”],“学号”:[“201805160021”,“201805160022”],“成绩”:{“英语”:[89,95],“政治”:[98,80],“Python程序设计”:[90,95]} }。
要求按照如下格式输出每位同学成绩的平均分(保留一位小数):
张唐 英语、政治、Python三门课程平均成绩为:
李丽 英语、政治、Python三门课程平均成绩为:
print("张唐 英语、政治、Python三门课程平均成绩为:92.3")
print("李丽 英语、政治、Python三门课程平均成绩为:90.0")
描述
请编写代码。请输入输入五菜一汤,菜单中有一个菜为“水煮干丝”,利用append和remove方法增加一个“红烧肉”,去掉一个“水煮干丝”,并输出修改后的菜单。
输入格式
输入五菜一汤,菜单中有个菜名为“水煮干丝”,例如
水煮干丝,平桥豆腐,白灼虾,香菇青菜,西红柿鸡蛋汤
输出格式
[‘平桥豆腐’, ‘白灼虾’, ‘香菇青菜’, ‘西红柿鸡蛋汤’, ‘红烧肉’]
ls = input()
a = ls.split(',')
a.remove('水煮干丝')
a.append('红烧肉')
print(a)
1)对于一个列表,在保持非零元素相对顺序的同时,将元素中所有的数字0移动到末尾。
2)例如,获得输入列表 [0, 1, 0, 3, 12],输出 [1, 3, 12, 0, 0]。
3)输入代码并提交解答。
注意:提交代码时请删除input()函数中的参数,否则会出现错误。
ls=eval(input())
a = len(ls)
for i in range(a):
if ls[i] != 0:
i += 1
elif ls[i] == 0:
del ls[i]
ls.append(0)
print(ls)
描述
在工作日模式中,即每周七天,周一至周五工作,周六,日休息。如果工作日每天比前一天提高1%,休息日每天下降1‰,一年365天学习能力相差多少呢?
def dayUP():
dayup = 1.0
dayfactor = 0.01
daydown = 0.001
for i in range(365):
# i % 7 = 0,1,2,3,4,5,6
if i % 7 in [0,6]:
dayup = dayup * (1 - daydown)
else :
dayup = dayup * (1 + dayfactor)
return dayup
print("天天向上的力量为:{:.2f}。".format(dayUP()))
描述
模仿特殊岗位的工作模式,假设不区分工作日,而是每工作3天休息1天。如果工作日每天比前一天提高1%,休息日下降1%,一年365天学习能力相差多少呢?
def dayUP():
dayup = 1.0
for i in range(365):
if i % 4 in[0]:
dayup *= (1-0.01)
else :
dayup *= (1+0.01)
return dayup
print("天天向上的力量为:{:.2f}。".format(dayUP()))
描述
互联网上的每台设备都有一个IP地址,合法的IP地址格式为为点分隔的4个十进制数,格式如下:
A.B.C.D
其中A、B、C、D均为大于等于0且小于等于 255的整数,每个数字中不允许有前导零存在(类似089)。
按A.B.C.D格式输入一个字符串,请判断输入的是不是合法IP地址,为合法IP地址时输出“Yes”,否则输出“No”。
输入格式
按A.B.C.D格式输入一个字符串
输出格式
“Yes”或“No”
输入输出示例
输入 输出
示例 1 14a.220.114.8 No
ip = input().split('.')
try:
ls=[int(i) for i in ip]
if len(ls) == 4 and max(ls) <= 255 and min(ls) >= 0:
print('Yes')
else:
print('No')
except:
print('No')
描述
用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口还是过道。目前中国高铁和国内飞机窗口位置的字母是’A’和’F’,过道位置是’C’和 ‘D’,中间位置是’E’。
每个车厢座位排数是1-17,字母不区分大小写。
输入格式
输入一个数字和字母组合成的字符串
输出格式
‘窗口’或’过道’ 或’输入错误’
输入输出示例
输入 输出
示例 1
12F
2C
窗口
过道
import string
s = input()
if 2 <= len(s) < 4 and 1 < int(s[:-1]) <= 17 and s[-1] in ['A','B','C','D','F','a','b','c','d','f']:
if s[-1] in ['A','a','F','f']:
print('窗口')
elif s[-1] in ['C','c','D','d']:
print('过道')
#else:
#print('您在三人座的中间一个')
else:
print('输入错误')
描述
1-1/2+2/3-3/5+4/8-5/13+…的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。
输入格式
一个正整数
输出格式
前n项的和
输入输出示例
输入 输出
示例 1 12 0.828448
n = int(input())
a,b = 1,1
flag = -1
MySum = 1.0
for i in range(1,n):
a, b = b, a + b
MySum = MySum + flag * i / b
flag = -flag
print('{:.6f}'.format(MySum))
描述
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,sum=1+11+111=123。
输入格式
两行输入:
第一行输入一个整数A,且该数介于1至9之间(包含1和9)
第二行输入一个非负整数N
输出格式
输出其N项数列之和sum的值。
当输入不符合要求时输出:‘data error’
A = int(input())
N = int(input())
sum = 0
if 1 <= A <= 9 and 0 <= N :
tmp = A
for i in range(N):
sum = sum + tmp
tmp = tmp * 10 +A
print(sum)
else:
print('data error')
描述
编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式
输入在一行中给出一个正整数n(1≤n<7)。
输出格式
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入输出示例
输入 输出
示例 1
4
A B C D
E F G
H I
J
n = int(input())
s = 'A'
if 1<=n<7:
for i in range(n):
for j in range(n-i):
print(s,end = ' ')
s=chr(ord(s)+1)
print()
描述
将一个罗马数字转换成十进制整数输出,其中,罗马数字的范围为1~3999。
罗马数字与阿拉伯数字对应关系如下:
基本字符
I
V
X
L
C
D
M
相应的阿拉伯数字
1
5
10
50
100
500
1000
组合规则如下:
(1) 基本数字 I、X 、C 连用构成数字,或者放在大数的右边连用构成数字,但连用不能超过三个;放在大数的左边只能用一个。
(2) 基本数字 V 、L 、D不能作为小数放在大数符号的左边构成数目,放在大数右边只能使用一个。
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
sum=0
convert={'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}
for i in range(len(s)-1):
if convert[s[i]] < convert[s[i+1]]:
sum -= convert[s[i]]
else:
sum += convert[s[i]]
sum += convert[s[-1]]
return sum
if __name__ == '__main__':
a = Solution()
palindrome_bool = a.romanToInt("III")
print(palindrome_bool)
0033003200341609175548094
描述
十进制整数转二进制的方法是:除以2,取出余数,商继续除以2,直到得到0为止,将取出的余数逆序即可得到对应的二进制数的各位。
例如:22转二进制的计算过程:
22 / 2 11 余0
11/2 5 余 1
5 /2 2 余 1
2 /2 1 余 0
1 /2 0 余 1
得到22的二进制是10110
输入格式
输入一个正整数
输出格式
输出对应的二进制数
输入输出示例
输入 输出
示例 1
1999
11111001111
num = int(input())
s=''
while num!=0:
s=s+str(num%2)
num = num//2
print(s[::-1])
描述
写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔。
输入格式
输入一个正整数
输出格式
不大于该数的所有素数,各数后面用一个空格分隔。
输入输出示例
输入 输出
示例 1 100 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
def isPrime(n): #判断素数的函数
if n < 2:
return False #0和1不是素数
for i in range(2, n):
if n % i == 0:
return False
break
else:
return True
num = int(input()) #接收用户输入并转成整数
for i in range(num):
if isPrime(i):
print(i,end=' ') #在同一行内输出结果,不换行,中间用空格分隔