Python

1.输入一个三位数的整数(100至999)输出这个数的人民币大写。输入100至999的整数。样例输入 Copy123
400 560 708 999样例输出 壹佰贰拾叁元整 肆佰元整 伍佰陆拾元整 柒佰零捌元整 玖佰玖拾玖元整
代码:

t=input()
while t!="":
  chnum=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"]
  t=int(t)
  g=t%10
  d=(t%100)/10
  b=t/100
  b=int(b)
  d=int(d)
  g=int(g)
  if d==0 and g==0:
    print("%s佰元整"%(chnum[b]))
  if d==0 and g!=0:
    print("%s佰%s%s元整"%(chnum[b],chnum[d],chnum[g]))
  if d!=0 and g==0:
    print("%s佰%s%s元整"%(chnum[b],chnum[d],chnum[10]))
  if d!=0 and g!=0:
    print("%s佰%s%s%s元整"%(chnum[b],chnum[d],chnum[10],chnum[g]))
  t=input()

2.守形数是这样一种整数,它的平方的低位部分等于它本身。比如25的平方是625,低位部分是25,因此25是一个守形数。编一个程序,判断N是否为守形数。输入输入包括1个整数N,2<=N<100。输出可能有多组测试数据,对于每组数据,输出"YES!”表示N是守形数。输出"NO!”表示N不是守形数。
代码:

s=input()
while s!='':
    s=int(s)
    if s>=2 and s<10:
        t=s**2%10
        if t==s:
            print('YES!')
        else:
            print('NO!')
    if s>=10 and s<100:
        t=s**2%100
        if t==s:
            print('YES!')
        else:
            print('NO!')
    s=input()

3.给你2个分数,求他们的和,并要求和为最简形式输入数据有多组,每组数据1行,每行包含四个正整数a,b,c,d(都大于0且小于1000),表示两个分数a/b 和 c/d。对于每组测试数据,输出两个整数e和f,表示a/b + c/d的最简化结果是e/f,每组输出占一行。
样例输入 Copy
1 2 1 3
4 3 2 3
输出:
5/6
2/1
代码:

def fun(t1,t2):
        if t1>t2:
            max=t1
            min=t2
        else:
            max=t2
            min=t1
        t=0
        while max%min!=0 :
            t=min
            min=max%t
            max=t
        return min
s=input()
while s!="":
    a,b,c,d=s.split(" ")
    a=int(a)
    b=int(b)
    c=int(c)
    d=int(d)
    f=(b*d)/fun(b,d)
    e=f/b
    e1=f/d
    a*=e
    c*=e1
    z=a+c
    m=f
    z=int(z)
    m=int(m)
    if fun(z,m)!=1:
      print("%d/%d"%(z/fun(z,m),m/fun(z,m))) 
    else:
        print("%d/%d"%(z,m))
    s=input()

4.已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n,使得Sn>K。输入:每个测试文件只包含一组测试数据,每组一个整数k(1<=k<=15)。输出:对于每组输入数据,输出要求计算出的最小的n,使得Sn>K。
样例输入:1
样例输出:2
代码:

k=int(input())
Sn=0
x=1
while Sn<=k:
    Sn+=1/x
    if Sn>k:
        print(x)
    else:
        x=x+1

5.每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2…以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2+…+2×9=158,然后取158 mod 11的结果4作为识别码。
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。
输入:每组输入数据只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出:每组输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
输入:
0-670-82162-4
0-670-82162-0
输出:
Right
0-670-82162-4
代码:

ISBN = input()
while ISBN != "":
    strNum = ISBN[:12]
    sum = 0
    j = 1
    for i in strNum:
        if i != '-':
            n = int(i)
            sum = sum + n * j
            j += 1
        else:
            continue
    if sum % 11 == 10:
        ID = 'X'
    else:
        ID = str(sum % 11)
    if ID == ISBN[12]:
        print("Right")
    else:
        strNum += ID
        print(strNum)
    ISBN = input()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值