经典操作记录 python 函数

编写一个名为collatz()的函数,它有一个名为number的参数。
如果参数是偶数,那么collatz()就打印出number//2,并返回
该值。如果number是奇数,collatz()就打印并返回3*number+1



def collatz(number):
    if number % 2 ==0:
        return number //2
    else:
        return 3*number+1

后编写一个程序,让用户输入一个整数,并不断对这个数
调用collatz(),直到函数返回值1(令人惊奇的是,这个序列
对于任何整数都有效,利用这个序列,你迟早会得到1!既使数学
家也不能确定为什么。你的程序在研究所谓的“Collatz序列”,
它有时候被称为“最简单的、不可能的数学问题”)。

def collatz(number):
     if number % 2 ==0:
         return number //2
     else:
         return 3*number+1


num =int(input('Num:'))
while True:
    if collatz(num) ==1:
        print(1)
        break
    else:
        num =collatz(num)
        print(num)




/usr/local/python3/bin/python3.6 /home/kiosk/PycharmProjects/untitled/day04/02_python_def.py
Num:12
6
3
10
5
16
8
4
2
1

Process finished with exit code 0
def f(n):
    res=0
    for item in str(n):
        res += int(item) **2
    return res
def isok(k,n):
    if k*f(n)==n:
        return True
    else:
        return False
def main():
    k=51
    a=5000
    b=10000
    count=0
    for i in range(a,b+1):
        if isok(k,i):
            count +=1
    print(count)

main()




/usr/local/python3/bin/python3.6 /home/kiosk/PycharmProjects/untitled/day04/02_python_def.py
3

Process finished with exit code 0
def f(n):
    res=0
    for item in str(n):
        res +=int(item) **2
    return res

def isok(k,n):
    if k*f(n)==n:
        return True
    else:
        return False
def main(k,a,b):
    count=0
    for i in range(a,b+1):
        if isok(k,i):
            count +=1
    print(count)

main(51,5000,10000)
s=input('chuan:')
s1=s.split(' ')    以空格打断
print(s1[-1])

题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。
输出描述:输出输入字符串中含有该字符的个数。

示例1:
输入:ABCDEF A

s=input('chuan:').upper()
s1=s.split(' ')
s2=s1[-1]
s3=s1[:-1]
num=0
for i in str(s3):
    if s2==i:
        num +=1
print(num)

s=input(‘输入:’)
d={
‘1’:1,’2’:2,’3’:3,’4’:4,’5’:5,’6’:6,’7’:7,’8’:8,’9’:9,’0’:0,
‘a’:2,’b’:2,’c’:2,
‘d’:3,’e’:3,’f’:3,
‘g’:4,’h’:4,’i’:4,
‘j’:5,’k’:5,’l’:5,
‘m’:6,’n’:6,’o’:6,
‘p’:7,’q’:7,’r’:7,’s’:7,
‘t’:8,’u’:8,’v’:8,
‘w’:9,’x’:9,’y’:9,’z’:9
}

for i in s:
print(‘输出:%s’ %(d[i]),end=”)


for i in range(1,10):
    for l in range(1,10):
        m=i*l
        if i>l:
            print('%s*%s=%s' %(i,l,m),end=('\t')) 以table 键隔开
        elif i==l:
            print('%s*%s=%s' %(i,l,m),end=('\n'))  换行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值