因为只看我的解释,很难明白这些那些的知识点是怎么运用的,所以中间插入本篇,供读者加深理解和学习
题目描述
输入两个整数 a,b,输出它们的和
任何一个伟大的思想,都有一个微不足道的开始。
输入格式
两个整数以空格分开。
输出格式
一个整数。
输入输出样例
输入
20 30
输出
50
a = input()
b = input()
print(a+b)
# 其实这样的写法是有问题的,但是我们暂时不考虑这个错误
题目描述
现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果?
输入格式
输入两个不超过 10^9 的正整数,分别表示每人分到的数量和同学的人数。
输出格式
一个整数,表示答案。保证输入和答案都在int范围内的非负整数。
输入输出样例
输入
5 3
输出
15
a = input()
b = input()
print(a*b)
# 同样,这样的写法是有问题的,但是我们暂时不考虑这个错误
在这里解释一下之前提到的错误:
input函数是读入一行,并且是字符串类型,也就是说真正读入进来的是:
"5 3"
# 而不是
5 3
应该这样修改:
s = input().split()
a = int(s[0])
b = int(s[1])
# 读者可以自行把s输出来看一下,结果是这样的
# ["5", "3"]
# 可以看到里面还是str类型,也就是字符串类型
# 我们需要转换成int类型,才能进行加减操作
题目描述
一些数字可能拥有以下的性质:
小A 喜欢这两个性质同时成立的数字;
小B喜欢这至少符合其中一种性质的数字;
小C喜欢刚好有符合其中一个性质的数字;
小D喜欢不符合这两个性质的数字。
输入格式
输入一个数字 x
输出格式
输出这 4 个人是否喜欢这个数字,如果喜欢则输出1,否则输出0,用空格分隔。
输入输出样例
输入
12
输出
1 1 0 0
num = int(input())
# 输入一个整数,才有可能被2整除
flag1 = num % 2 == 0
# flag1 的真假
flag2 = num > 4 and num <= 12
#flag2 的真假
# 判断 A
if flag1 and flag2:
print(1,end=" ")
else:
print(0,end=" ")
#判断 B
if flag1 or flag2:
print(1,end=" ")
else:
print(0,end=" ")
#判断 C
if (not flag1 and flag2) or (flag1 and not flag2):
print(1,end=" ")
else:
print(0,end=" ")
#判断 D
if not(flag1 or flag2):
print(1,end=" ")
else:
print(0,end=" ")
题目描述
输入一个年份(大于 1582 的整数 ),判断这一年是否是闰年,如果是输出 1,否则输出 0。
闰年是能被 4或400 整除的年份,但不能被 100 整除。
输入格式
无
输出格式
无
输入输出样例
输入 #1
1926
输出 #1
0
输入 #2
1900
输出 #2
0
输入 #3
2000
输出 #3
1
输入 #4
1996
输出 #4
1
num = int(input())
if (num % 4 == 0 and num % 100 != 0) or (num % 400 == 0):
print(1)
else:
print(0)
题目描述
八尾勇喜欢吃苹果。她今天吃掉了 x(0≤x≤100) 个苹果。英语课上学到了 apple 这个词语,想用它来造句。如果她吃了 1 个苹果,就输出 Today, I ate 1 apple.;如果她没有吃,那么就把 1 换成 0;如果她吃了不止一个苹果,别忘了 apple 这个单词后面要加上代表复数的 s。你能帮她完成这个句子吗?
输入格式
一个整数表示今天吃的苹果数量
输出格式
一行字符串
输入输出样例
输入 #1
1
输出 #1
Today, I ate 1 apple.
输入 #2
3
输出 #2
Today, I ate 3 apples.
n = int(input())
print("Today, I ate",n ,end=" ")
if n <= 1:
print("apple.")
else:
print("apples.")
题目描述
给出 n 和 n 个整数 ai
(0 ≤ ai ≤ 1000),求这 n 个整数中最小值是什么。
输入格式
无
输出格式
无
输入输出样例
输入 #1
8
1 9 2 6 0 8 1 7
输出 #1
0
n = int(input())
a = input().split() # 这里把输入的内容用split函数分开,默认用空格分割,返回对象是一个list,其中list的元素是字符型
min = 999999999 # 这里设置最大值为min
for i in a:
i = int(i) # 因为字符和数字不能直接比较,所以把字符转换成对应的数字
if i < min:
min = i
print(min)
题目描述
给定 n 和 k(k≤100),将从 1 到 n 之间的所有正整数可以分为两类:A 类数可以被 k 整除(也就是说是 k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。
输入格式
无
输出格式
无
输入输出样例
输入
100 16
输出
56.0 50.1
s = input().split()
n = int(s[0])
k = int(s[1])
sum1 = 0
cnt1 = 0
sum2 = 0
cnt2 = 0
for i in range(1,n+1):
if i % k == 0:
sum1 += i
cnt1 +=1
else:
sum2 += i
cnt2 +=1
print("%.1f" %(sum1/cnt1),end=" ")
print("%.1f" %(sum2/cnt2))
题目描述
用高精度计算出 S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5×4×3×2×1。
输入格式
一个正整数N。
输出格式
一个正整数S,表示计算结果。
输入输出样例
输入 #1
3
输出 #1
9
N = int(input())
S = 0
for i in range(1,N+1):
s = 1
for j in range(1,i+1):
s *= j
S += s
print(S)