判断字母大小写,某天是该年第几天,斐波那契变式(数列的前20项之和,猴子吃桃),杨辉三角(参考代码)
1、给定一个字符串s = ‘beautifulCode’
从前到后检查每个字母
如果是大写字母则停止检查并输出:有大写字母,第一个大写字母为%s
否则输出:无大写字母
s = 'beautifulCode'
for i in s:
if i.isupper():
print(i)
break
else:
print("no upper")
# 用ASCII码写
for i in s:
if 65 <= ord(i) <= 90:
print(i)
break
else:
print("no upper")
2、输入某年某月某日,判断这一天是这一年的第几天
def jk(y,m,d):
if m==1:
return d
return jk(y,m-1,d)+yuefenjisuan(y,m-1)
def yuefenjisuan(y,m):
if m in [1,3,5,7,8,10,12]:
return 31
elif m==2 :
return 29 if y%4==0 and y%100!=0 or y%400==0 else 28
elif m in [4,6,9,11]:
return 30
return 0
s=jk(2024,7,15)
print(s)
3、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
def ques_3():
fenzi = [2]
fenmu = [1]
for i in range(1, 20):
fenmu.append(fenzi[i - 1])
fenzi.append(fenzi[i - 1] + fenmu[i - 1])
summ = 0
for i in range(len(fenzi)):
summ += fenzi[i] / fenmu[i]
print(summ)
pass
ques_3()
4、构建杨辉三角并打印,每一行用list列表连接
# 杨辉三角
li = [[1], [1, 1]]
# 找出规律构建杨辉三角
last_list = [1]
for i in range(10):
tmp = [last_list[j] + last_list[j + 1] for j in range(len(last_list) - 1)]
# tmp = []
# for j in range(len(last_list)-1):
# tmp.append(last_list[j] + last_list[j+1])
next_list = [1] + tmp + [1]
last_list = next_list
print(next_list)
5、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
def ques_5(n):
if n == 10:
return 1
return (ques_5(n + 1) + 1) * 2
pass
print(ques_5(1))