1、编写一个能够输出 Hello,World! 的程序。

print("Hello,World!")

2、用 * 构造一个对角线长 5 个字符,倾斜放置的菱形。

print(" *\n ***\n*****\n ***\n *");

3、超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景: ******** ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## ############

print(" ********\n ************\n ####....#.\n #..###.....##....\n ###.......###### ### ###\n ........... #...# #...#\n ##*####### #.#.# #.#.#\n ####*******###### #.#.# #.#.#\n ...#***.****.*###.... #...# #...#\n ....**********##..... ### ###\n ....**** *****....\n #### ####\n ###### ######\n##############################################################\n#...#......#.##...#......#.##...#......#.##------------------#\n###########################################------------------#\n#..#....#....##..#....#....##..#....#....#####################\n########################################## #----------#\n#.....#......##.....#......##.....#......# #----------#\n########################################## #----------#\n#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n########################################## ############\n");

4、小 B 喜欢吃苹果。她现在有 m(1≤m≤100)个苹果,吃完一个苹果需要花费 t(0≤t≤100)分钟, 吃完一个后立刻开始吃下一个。现在时间过去了 s(1≤s≤10000)分钟,请问她还有几个完整的苹果?

def main(): m = int(input().strip()) t = int(input().strip()) s = int(input().strip()) # 处理特殊情况 if t == 0: print(0) return def main(): m = int(input().strip()) t = int(input().strip()) s = int(input().strip()) # 处理特殊情况 if t == 0: # 吃苹果不需要时间,所有苹果都被吃完 print(0) return if s == 0: # 没有时间过去,所有苹果都完整 print(m) return # 计算能吃完的苹果数量 apples_eaten = s // t # 如果吃完的苹果数量大于等于总苹果数 if apples_eaten >= m: print(0) else: # 计算剩余完整苹果数 remaining_apples = m - apples_eaten print(remaining_apples) if __name__ == "__main__": main()

5、一些整数可能拥有以下的性质: 性质 1:是偶数; 性质 2:大于 4 且不大于 12。 小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;小 B 喜欢刚好有符合其中一个性质的整数; 正妹喜欢不符合这两个性质的整数。现在给出一个整数 x,请问他们是否喜欢这个整数?

x = int(input().strip()) p1 = x % 2 == 0 p2 = 4 < x <= 12 print(int(p1 and p2), int(p1 or p2), int(p1 != p2), int(not p1 and not p2))

6、输入一个年份,判断这一年是否是闰年,如果是输出 1,否则输出 0。 1582 年以来,闰年的定义: 普通闰年:公历年份是 4 的倍数,且不是 100 的倍数的,为闰年(如 2004 年、2020 年等就是闰年)。 世纪闰年:公历年份是整百数的,必须是 400 的倍数才是闰年(如 1900 年不是闰年,2000 年是闰年)。

n = int(input().strip()) if (n % 4 == 0 and n % 100 != 0) or n % 400 == 0: print(1) else: print(0)

7、给出 n 和 n 个整数 a i ? ,求这 n 个整数中最小值是什么。

def main(): n = int(input()) a = list(map(int, input().split())) a.sort() print(a[0]) if __name__ == "__main__": main()

8、给定 n 和 k,将从 1 到 n 之间的所有正整数可以分为两类:A 类数可以被 k 整除(也就是说是 k 的倍数), 而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。 数据保证两类数的个数都不会是 0。

def main(): n, k = map(int, input().split()) s1 = 0 s2 = 0 c1 = 0 c2 = 0 for i in range(1, n + 1): if i % k == 0: # 是否为 k 的倍数 s1 += 1 c1 += i else: s2 += 1 c2 += i # 计算平均值并保留一位小数 avg1 = c1 / s1 if s1 > 0 else 0 avg2 = c2 / s2 if s2 > 0 else 0 print("{:.1f} {:.1f}".format(avg1, avg2)) if __name__ == "__main__": main()

9、《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a 的木棍, 从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍的长度会变为 1?

def main(): n = int(input()) count = 0 while n != 1: n = n // 2 # 使用整数除法 count += 1 print(count + 1) if __name__ == "__main__": main()

10、给出 n,请输出一个直角边长度是 n 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 0

n = int(input()) c = 1 for i in range(n, 0, -1): for j in range(1, i + 1): if c < 10: print("0" + str(c), end="") else: print(c, end="") c += 1 print()

11、人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度, 它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

def main(): n = int(input().strip()) c = list(map(int, input().split())) b = [0] * n for i in range(1, n): for j in range(i): if c[j] < c[i]: b[i] += 1 print(' '.join(map(str, b))) if __name__ == "__main__": main()

12、给出一个正整数 n,然后对这个数字一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 再加 1,否则除以 2。经过若干次循环后,最终都会回到 1。经过验证很大的数字(7×10 11 )都可以按照这样的方式比变成 1,所以被称为“冰雹猜想”。例如当 n 是 20,变化的过程是 20→10→5→16→8→4→2→1。 根据给定的数字,验证这个猜想,并从最后的 1 开始,倒序输出整个变化序列。

def main(): n = int(input()) m = n a = [] x = 0 while n > 1: if n % 2 == 0: n = n // 2 a.append(n) else: n = n * 3 + 1 a.append(n) x += 1 # 逆序输出数组元素 for i in range(x-1, -1, -1): print(a[i], end=' ') print(m) if __name__ == "__main__": main()

13、现有 N 名同学参加了期末考试,并且获得了每名同学的信息:语文、数学、英语成绩(均为不超过 150 的自然数)。如果某对学生 ?i,j? 的每一科成绩的分差都不大于 5,且总分分差不大于 10, 那么这对学生就是“旗鼓相当的对手”。现在想知道这些同学中,有几对“旗鼓相当的对手”?同样一个人可能会和其他好几名同学结对。

def main(): n = int(input().strip()) yw = [0] * (n + 1) sx = [0] * (n + 1) yy = [0] * (n + 1) zf = [0] * (n + 1) ans = 0 for i in range(1, n + 1): data = list(map(int, input().split())) yw[i] = data[0] sx[i] = data[1] yy[i] = data[2] zf[i] = yw[i] + sx[i] + yy[i] for i in range(1, n + 1): for j in range(i + 1, n + 1): if (abs(yw[i] - yw[j]) <= 5 and abs(sx[i] - sx[j]) <= 5 and abs(yy[i] - yy[j]) <= 5 and abs(zf[i] - zf[j]) <= 10): ans += 1 print(ans) if __name__ == "__main__": main()

14、大家都知道一些办公软件有自动将字母转换为大写的功能。输入一个长度不超过 100 且不包括空格的字符串。 要求将该字符串中的所有小写字母变成大写字母并输出。

import sys while True: ch = sys.stdin.read(1) if not ch: break if 'a' <= ch <= 'z': ch = chr(ord(ch) + ord('A') - ord('a')) print(ch, end='')

15、某蒟蒻迷上了 “小书童”,有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你。

def main(): # 读取输入:一个整数n和一个字符串 data = input().split() n = int(data[0]) # 如果输入在同一行,第二个元素是字符串;否则在下一行 s = data[1] if len(data) > 1 else input().strip() result = [] for char in s: # 对每个字符进行移位操作 if 'a' <= char <= 'z': # 计算移位后的字符 new_char = chr((ord(char) - ord('a') + n) % 26 + ord('a')) result.append(new_char) else: # 非小写字母保持不变 result.append(char) # 输出结果 print(''.join(result)) if __name__ == '__main__': main()

16、小果有一个只有两个键的键盘。一天,她打出了一个只有这两个字符的字符串。当这个字符串里含有 VK 这个字符串的时候,小果就特别喜欢这个字符串。 所以,她想改变至多一个字符(或者不做任何改变)来最大化这个字符串内 VK 出现的次数。给出原来的字符串,请计算她最多能使这个字符串内出现多少次 VK (只有当 V 和 K 正好相邻时,我们认为出现了 VK。)

def main(): n = int(input().strip()) s = list(input().strip()) # 将字符串转换为列表以便修改 ans = 0 # 第一次遍历,查找"VK"并替换 for i in range(n - 1): if s[i] == 'V' and s[i + 1] == 'K': ans += 1 s[i] = 'A' s[i + 1] = 'C' # 第二次遍历,查找相邻相同字符 for i in range(n - 1): if s[i] == s[i + 1]: ans += 1 break print(ans) if __name__ == "__main__": main()

17、输入 x,y,输出 [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。

import sys def main(): data = sys.stdin.read().split() l = int(data[0]) r = int(data[1]) # Adjust l to the next multiple of 4 if it isn't already while l % 4 != 0: l += 1 cnt = 0 a = [] current = l while current <= r: if current % 100 == 0 and current % 400 != 0: current += 4 continue a.append(current) cnt += 1 current += 4 print(cnt) if cnt > 0: print(' '.join(map(str, a))) if __name__ == '__main__': main()

18、求 n!,也就是 1×2×3?×n。 挑战:尝试不使用循环语句(for、while)完成这个任务。

def f(x): if x == 0: return 1 return f(x - 1) * x n = int(input()) print(f(n))

19、输入一个偶数 N,验证 4~N 所有偶数是否符合哥德巴赫猜想:任一大于 2 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。 例如 10,10=3+7=5+5,则 10=5+5 是错误答案。

import math def is_prime(n): """判断一个数是否为质数""" if n < 2: return False if n == 2: return True if n % 2 == 0: return False for i in range(3, int(math.sqrt(n)) + 1, 2): if n % i == 0: return False return True def goldbach_decomposition(n): """找到并输出哥德巴赫分解""" for i in range(2, n): if is_prime(i) and is_prime(n - i): print(f"{n}={i}+{n-i}") return def main(): n = int(input("请输入一个偶数: ")) if n < 4: print("输入必须大于等于4") return # 验证从4到n的所有偶数 for i in range(4, n + 1, 2): goldbach_decomposition(i) if __name__ == "__main__": main()

20、一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。 第 n 天早上起来一看,只剩下 1 个桃子了。请问小猴买了几个桃子?

def main(): n = int(input("请输入天数 n: ")) ans = 1 # 最后一天剩下的桃子数 # 逆推计算第一天的桃子数 for i in range(1, n): ans = (ans + 1) * 2 print(f"第一天摘了 {ans} 个桃子") if __name__ == "__main__": main()