编写一个名为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')) 换行