第一章 算术表达式与顺序执行
问题一 计算表达式(a+b)*c的值
题目描述
给定3个整数a、b、c,计算表达式(a+b)*c的值。
输入格式
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 < a,b,c < 10,000)
输出格式
输出一行,即表达式的值。
样例输入
复制
2 3 5
样例输出
复制
25
解题思路
这是一道Python用于解决整数运算的计出题,需要注意运算顺序,为了避免出错,可以引入变量d用于保存a+b的值。
实现代码
a, b, c = map(int, input().split())
d = a + b
print(d*c)
问题二 计算表达式(a+b)/c的值
题目描述
给定3个整数a、b、c,计算表达式(a+b)/c的值,/是整除运算。
输入格式
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,000 < a,b,c < 10,000, c不等于0)
输出格式
输出一行,即表达式的值。
样例输入
复制
1 1 3
样例输出
复制
0
解题思路
需要注意的是,根据题目要求是向下取整,如果直接用//不能通过所有测试点,我们需要对除数取整。
实现代码
a, b, c = map(int, input().split())
d = (a+b)/c
print(int(d))
问题三 带余除法
题目描述
给定被除数和除数,求整数商及余数。
此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。看看程序运行结果与数学上的定义有什么不同?
输入格式
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。
输出格式
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
样例输入
复制
10 3
样例输出
复制
3 1
解题思路
本题比较简单,需要明白“//“和”%“的运算逻辑
实现代码
m, n = map(int, input().split())
print(m//n, m%n)
问题四 计算分数的浮点数值
题目描述
两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位)。
输入格式
输入仅一行,包括两个整数a和b(b不为0)。
输出格式
输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)。
样例输入
复制
5 7
样例输出
复制
0.714285714
解题思路
本题用于让同学们熟悉除法的运算规则,在Python中,除法运算得到的结果为浮点数,同时要求同学们掌握保留小数位数的方式。
实现代码
a, b = map(int, input().split())
print('{:.9f}'.format(a/b))
问题五 甲流疫情死亡率
题目描述
甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。
输入格式
输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。
输出格式
输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。
样例输入
复制
10433 60
样例输出
复制
0.575%
提示
输出%可以使用printf(“%%”);
解题思路
死亡率= 死亡人数/确诊人数*100%
实现代码
quez, death = map (int, input().split())
print('{:.3f}%'.format((death/quez)*100))
以上是Python基础之算术表达式与顺序执行的部分题目,如果您还想继续练习,可以点击下方链接。https://www.dotcpp.com/oj/train/1051/
第二章 逻辑表达式与条件分支
问题一 判断数正负
题目描述
给定一个整数N,判断其正负。
输入格式
一个整数N(-109 <= N <= 109)
输出格式
如果N > 0, 输出positive;
如果N = 0, 输出zero;
如果N < 0, 输出negative。
样例输入
复制
1
样例输出
复制
positive
解题思路
本题主要考察对if语句的使用,可以连续使用三个if达到判断目的。
实现代码
N = int(input())
if N > 0:
print("positive")
if N == 0:
print("zero")
if N < 0:
print("negative")
问题二 输出绝对值
题目描述
输入一个浮点数,输出这个浮点数的绝对值。
输入格式
输入一个浮点数,其绝对值不超过10000。
输出格式
输出这个浮点数的绝对值,保留到小数点后两位。
样例输入
复制
-3.14
样例输出
复制
3.14
解题思路
本题使用绝对值函数abs()即可实现。
实现代码
n = float(input())
print('{:.2f}'.format(abs(n)))
问题三 奇偶数判断
题目描述
给定一个整数,判断该数是奇数还是偶数。
输入格式
输入仅一行,一个大于零的正整数n。
输出格式
输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。
样例输入
复制
5
样例输出
复制
odd
解题思路
思路一:如果输入的数n是奇数,那么,n/2的余数为1,如果是偶数,n/2的余数为0;
思路二:直接判断n的个位数字,如果为1,3,5,7,9中的一个,则为奇数,否则为偶数。
接下来提供思路一的代码。
实现代码
n = int(input())
remainder = n%2
if remainder == 1:
print("odd")
else:
print("even")
问题四 奇偶ASCII值判断
题目描述
任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO。
例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO。
输入格式
输入一个字符。
输出格式
如果其ASCII值为奇数,则输出YES,否则,输出NO。
样例输入
复制
A
样例输出
复制
YES
解题思路
输入一个字符,先转为其对应的ASCLL码,使用ord()函数实现,然后和上一题判断奇偶思路一致,即可解题。
实现代码
Str = input()
mun = ord(Str)
if mun%2 == 1:
print("YES")
if mun%2 == 0:
print("NO")
问题五 整数大小比较
题目描述
输入两个整数,比较它们的大小。
输入格式
一行,包含两个整数x和y,中间用单个空格隔开。
0 <= x < 2^32, -2^31 <= y < 2^31。
输出格式
一个字符。
若x > y,输出 > ;
若x = y,输出 = ;
若x < y,输出 < 。
样例输入
复制
1000 100
样例输出
复制
>
解题思路
本题比较简单,只需判断两个整数的大小。
实现代码
x, y = map(int, input().split())
if x > y:
print(">")
if x == y:
print("=")
if x < y:
print("<")