北理工python123第四周

水仙花数,好像之前在C做过

好像难点就是最后一个不输出逗号

x=154

print(153,end="")

for i in range(800):

    y=x+i

    z=y//100

    m=y%10

    n=(y%100-m)/10

    h=z*z*z+m*m*m+n*n*n

    if h==y:

        print(",{:}".format(y),end="")

我承认这个方法比较赖。(题目都打错)

第二题,我有点想面向答案的编程了

可能要逐个字符操作,但是我看平均只要六行

想起来上次课好像学了try,但是忘记了。。。

这里需要complex语法

括号里面可以有的格式

1用逗号隔开

2复数完整显示

3实数

4字符串型的实数复数(以上全为十进制

其他括号里的方式都会报错,包括计算式子,其他进制,所以complex作用就说检查报错

s = input()

try:

    if complex(s) :

        print(eval(s)**2)

except:

print("输入有误")

第三题

学会用随机库以及Unicode 码

显然比之前几个题的题目描述正规多了

第一个麻烦,怎么把一个字符串分为两个数

import random

a,b=map(int,input().split(","))

c=a+b

random.seed(c)

for i in range(20):

    m=random.randint(32,127)

    print(chr(m),end="")

map的用法,详见

https://blog.csdn.net/quanlingtu1272/article/details/95482253?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166558388516782417078744%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166558388516782417078744&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-95482253-null-null.142^v53^control,201^v3^control_1&utm_term=map%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4187

第四题,问题在于题目给的这个范围。。python表示违法

可能是十六进制的

s = input("")#输入包含中文的字符串:

count = 0

for x in s:

    if 19968<=ord(x)<= 40869:

       count += 1

print(count)

第五题,经典题目说一半
 

import random

x=int(input())

random.seed(x)

zi="ABCDEFGHIJ0123456789"

for i in range(6):

    m=random.randint(0,19)

    n=zi[m]

    print(n,end="")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值