Python 选择与循环练习

求解求解

在视线不太好的黑夜,一司机撞伤行人之后逃逸,有三个目击者甲、乙、病记住了该车车牌的部分特征。甲说:“车牌的前两位数相同,且未位是奇数”;乙说:“车牌号的后两位加起来等于5”;丙说:“车牌号是一个四位数,并且能被3整除”。请编写程序,找出肇事车可能的车牌号。

某情报机构采用公用电话传递数据,数据是5位的整数,在传递过程中是加密的。加密规则如下:将第2位和第5位交换,第1位和第3位交换,第4位移到第1位。如12345加密以后密文是43512。

若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数,完全平方数是非负数。找出100以内的完全平方数。

考拉兹猜想(Collatz conjecture) 又称为奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。验证考拉兹猜想并打印考拉兹序列,例如,从5开始的考拉兹序列是5,16,8,4,2,1。

img

img

img

img

找出车牌

n = int(input())
res = []
i = 1101
while len(res)<n and i<10000:
    a, b = i//100,i%100
    if a%11==0 and b%2 and b//10+b%10==5:
        res.append(i)
    i += 3
print(res)

加密

n = input()
n = n[3]+n[2]+n[4]+n[0]+n[1]
print(n)

完全平方数

n = int(input())
res = []
i = 0
while len(res)<n and i<=10:
    res.append(i**2)
    i += 1
print(res)

考拉兹猜想

n = int(input())
res = [n]
while n>1:
    n = n*3+1 if n%2 else n//2
    res.append(n)
print(res)