教学视频-->>
任务1 数值运算
要求:
1、输入两个大于100的正整数,将它们的十位数字交换后输出。
2、程序保存到:s4t1.py。
3、程序执行效果:
输入2个大于100的正整数:6754,123
交换后2个整数分别为:6724、153
【参考与提示】
求解思路:
1、利用input函数得到输入的整数串。
2、利用eval函数,由数值串得到2个整数。
3、分别计算2个整数除以100的整数部分、十位数字和个位数字。
提示:对于正整数n,除以100的整数部分为a=n//100,十位数字为b=(n%100)//10,个位数字为c=n%10。
4、输出交换后的结果。
提示:设正整数n除以100的整数部分为a、十位数字为b,个位数字为c,则n=100a+10b+c。
任务2 比较运算
要求:
1、输入 2 个正整数,利用比较运算输出它们的最大值。不能使用 max 和 min 函数。不能使用if 关键字。
2、程序保存到:s4t2.py
3、程序执行效果:
输入 2 个正整数:256,76
num=256
【参考与提示】
求解思路:
1、由 input 函数得到输入的整数串。
2、利用 eval 函数将整数串转换为两个整数。
3、利用比较运算符构造一个表达式返回两个整数的最大值。
提示:(a>b)*a 当a>b 时其值为 a, 否则为 0。
4、输出这个最大值。
任务3 逻辑运算
要求:
1、输入一个整数,如果不能被 5 整除且不包含数字 4 则输出 "True",否则输出 "False"。不能使用 if 关键字。
2、程序保存到:s4t3.py
3、程序执行效果:
输入一个正整数:259
True
【参考与提示】
求解思路:
1、使用 input 函数得到输入的整数 (为字符串 s)。
2、将 s 转换为整数 n (利用 int 或 eval)。
3、利用 "not in" 判断 "4" 是否不在 s 中。
4、利用 "%" 运算符判断 n 是否不能被 5 整除。
5、输出 3 和 4 的结论的逻辑与。
任务4 位运算
要求:
1、依次输入 2 个正整数 a、b,对 a 的二进制数左移 1 位得到数 c,对 b 的二进制数右移 2 位得到数 d。如果 c>60 则输出 c,否则输出 d。
2、不能使用 "if" 关键字。
3、程序保存到:s4t4.py
4、程序执行效果:
输入 2 个正整数:15,91
处理结果 = 22
【参考与提示】
求解思路:
1、利用位的左移、右移运算分别求得 c、d。
2、利用逻辑运算 "or" 的特点输出结果。
提示:
(1)左移、右移运算符分别为“<<”、“>>”。
(2)"x or y" 在 x 为 0 时的值为 y,否则为 x 的值。
(3)"(x>5)*x" 在 x>5 时的值为 x, 否则为 0。
任务5 if表达式
输入一个成绩 ([0,100] 上的整数),输出其评定等级:85 分以上为 “优秀”,60 分以下为 “不合格”,其他为 “合格”。
要求:
1、必须使用 if 表达式。
2、程序保存到:s4t5.py
3、程序执行效果:
输入一个成绩 ([0,100] 上的整数):93
评定结果 = 优秀
【参考与提示】
1、使用 int 或 eval 函数将输入的整数串转换为整数。
2、if 表达式使用格式:A if B else C
说明:
(1)B 为真时 if 表达式的值为 A,否则值为 C。
(2)A、C 均为表达式,包括 if 表达式。

