小知识点:round(number,7)可以来实现对数的包留7位小数
也可以number= 3.14159265358
new_number = “{:.7f}".format(number)
题目1:判断闰年(是4的倍数而不是100的倍数,或者是400的倍数)
(1)代码:
a = int(input()) if (a % 4 == 0 and a % 100 != 0) or (a % 400 == 0): print("yes") else: print("no")
(2)解析:
利用除法来运算
(3)注意事项:
input函数所打印的内容是字符串,还需要加上int,同时在if条件句中用()来表示一个整体
题目2:判水仙花数,如153 = 1**3 + 5**3 + 3 ** 3
(1)代码:
number = input()
number_list = list(number)
num = 0
for i in number_list:
num = num + int(i) ** 3
if int(i) == int(number_list[-1]):
if num == int(number):
print("yes")
else:
print("no")
(2)解析:
因为要用到每个数立方的相加,可以把一个整数变成列表,这样列表中就有了每一个数,就可以来进行相加
(3)注意事项:
对于list()函数本质上是来进行迭代的,其中数不可以进行迭代
(1).2代码:
num = int(input('请输入一个三位效:'))
if num == pow(num //100,3)+ pow(num %10,3)+ pow(num // 10 % 10,3):
print("yes")
else:
print("no")
(2)解析:
num // 100 是算153的1,num % 10 是算153的3,num // 10 % 10 是算153的5
(3)注意事项:
pow(x,y)是算x的y次方,在算一个数的各位上的数时,可以先算num//10 ,来获取最后一个数,同时,用num % 10 来去除最后一个数,以此来做一个循环
题目3:列举一个100一内2的斐波那契数列
(1)代码:
list = [0,1,1] def fi(n): for i in range(n -2): #比如要算第5项,即列表有6个数,就需要算3遍 num = list[-1] + list[-2] list.append(num) while list[-1] < 100: n = 3 fi(n) n = n + 1 list.pop() print(list)
(1).2代码
x = 1 y = 1 print(x,end="\n") print(y,end="\n") while True: z = x + y x = y y = z if z > 100: break print(z,end="\n")
题目4:给出一个整数,求出1+2+3+...+n
(1)代码:
n = int(input()) num = n while True: n = n -1 num = num + n if n == 1: break print(num)
题目5:
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一.
1:两个字符串长度不等。比如 Beiing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如beiing 和 BEljing
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beiing 和 Nanjing编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
(1)代码
def find_good_chips(test_results):
n = len(test_results)
best_set = []
for i in range(n):
# 构造候选集合C_i,包含i和所有被i测为好的芯片
c_i = {i}
for j in range(n):
if j != i and test_results[i][j] == 1:
c_i.add(j)
# 检查候选集合中的所有芯片是否相互测为好的
valid = True
for k in c_i:
for m in c_i:
if k == m:
continue
if test_results[k][m] != 1:
valid = False
break
if not valid:
break
# 更新最佳候选集合
if valid and len(c_i) > len(best_set) and len(c_i) > n / 2:
best_set = list(c_i)
return sorted(best_set)
# 示例输入
test_results_example = [
[0, 1, 0, 0], # 芯片0的测试结果
[1, 0, 0, 0], # 芯片1的测试结果
[1, 1, 0, 0], # 芯片2的测试结果(假设是坏芯片)
[1, 1, 1, 0], # 芯片3的测试结果(假设是好芯片)
]
# 调用函数
print(find_good_chips(test_results_example))