# 1:给定一个数,判断他是正数,负数,还是0
a = int(input("请输入一该个整数"))
if a == 0:print(a, "是0")
elif a > 0:print(a, "是正数")
else:print(a, "是负数")# 练习2:输入一个季度的数字 输出该季度有那几个月
b = int(input("请输入一个季度:1.春季2.夏季3.秋季4.冬季"))
if b > 4:print(b, "不是季节")
elif b < 0:print(b, "不是季节")
else:if b == 1:print(b, "春季有:一月,二月,三月")elif b == 2:print(b, "夏季有:四月,五月,六月")elif b == 3:print(b, "秋季有:七月,八月,九月")else:print(b, "冬季有:十月,十一月,十二月")# 联系3:输入一个月份 输出这个月份在那个季度
c = int(input("请输入一个月份判断在那个季度"))
if c < 0:print(c, "不是月份")
elif c > 12:print(c, "不是月份")
elif c < 4:print(c, "在春季")
elif c < 7:print(c, "在夏季")
elif c < 10:print(c, "在秋季")
elif c <= 12:print(c, "在冬季")# 练习4:3公里内10元 超出1.9元/公里  超过15公里 每公里加50%回空费 3.15元/公里
# 输入公里  打印车费
d = int(input("请输入行驶公里数:"))
if d <= 3:print("车费:10元")
elif d > 4:if d < 15:g = (d - 3) * 1.9 + 10print(d, "公里:", g, "元")else:f = (d - 15) * 3.15 * 1.5 + 12 * 1.9 + 10print(d, "公里:", f, "元")
elif d < 0:print("公里数输入错误")练习:1. 一个商店卖西瓜,7元一个,您带20元钱能买到几个西瓜? 剩多少元?2. 一个学生毕业薪资10000元,每个涨薪 20%,请问十年后这个学生的薪资是多少?1. 打印如下图形:********     **     ********
2. 已知矩形的长边长为6cm,短边长为4cm,用表达式求1) 周长是多少?2) 面积是多少?练习:1. 指定一个圆的半径是r = 9cm1) 计算圆的周长2) 计算圆的面积2. 交量交换练习:已知有两个变量:a 绑定 10000b 绑定 20000问,在不创建任何新数据对象的情况下,如何让a 和 b 交换绑定的对象a = 10000b = 20000....print(a)  # 20000print(b)  # 10000
练习:1. 中国古代的秤是16两一斤,请问古代对216两是古代的几斤几两,写程序打印出来?2. 从凌晨 0:0:0 计时,到现在已经过了63320秒,请问现在是几时,几分,几秒,写程序打印出来提示:可以用地板除和求余实现3. 温度转换:摄氏温度 = 5.0/9.0*(华氏温度-32)请问100华氏温度是多少摄氏温度.写程序算出来思考:如果知道当前温度是摄氏温度度,能否算出华氏温度是多少?练习:将数字3.14 用变量pi绑定将pi变量转为整数,用变量i绑定将 pi 变量 与 i变量相减,结果用f变量绑定1. 判断f是否等于 0.14? 为什么?2. 删除所有的变量(用交互模式来实现)练习:1. 输入两个整数, 分别用变量x, y绑定1) 计算这两个数的和,并打印结果2) 计算这两个数的积,并打印结果3) 计算x的y次方并打印结果如:请输入x: 10请输入y: 20打印如下:10 + 20 = 3010 * 20 = 20010 ** 20 = ...2. 今天是小明20周岁的生日,假设每年有365天,计算它过了多少个星期天,余多少天3. 分三次输入当前的小时,分钟和秒数,在终端打印时此距离凌晨0:0:0 秒过了多少秒练习:任意输入一个数1) 判断这个数是否大于1002) 判断这个数是否小于03)判断这个数是否在80~100之间练习:1. 输入一个季度 1~4的整数.输出这个季度有哪儿几个月,如果输入的不是1~4的整数,则提示用户您输错了2. 输入一年中的月份(1~12) 输出这个月在哪儿个季度,如果输入的是其它数,则提示您输错了思考:score = input('请输入学生成绩:') or '0'score = int(score)请问这个or是在做什么?练习:1. 北京出租车计价:收费标准:3公里以内收费13元基本单价: 2.3元/公里 (超出3公里以外)空驶费:超过15公里后,每公里加收单价的50%的空驶费(即3.45元/公里)要求:输入公里数,打印出费用金额(以元为单位四舍五入)2. 输入一个学生的三科成绩(三个整数):打印出最高分是多少?打印出最低分是多少?打印出平均分是多少?3. BMI指数(Body Mass Index) 以称身体质量指数BMI值计算公式:BMI = 体重(公斤) / 身高的平方(米)例如:一个人69公斤,身高是173公分BMI = 69 / 1.73**2 = 23.05标准表:BMI < 18.5   体重过轻18.5 <= BMI < 24 体重正常BMI > 24  体重过重要求: 输入身高的体重,打印出BMI的值并打印体重状况思考:如果一个字符串同时包含如下字符该怎么办?'   "  '''  """ 练习:试求出以下字符串含有多少个字符?'1234abcd'  # 8'5\'4"'     # 4'\"A\x34\U00006041'  # 4'\b\n\td\r''\\nn\\x41'练习:写一个程序,打印一个高度为4行的矩形方框要求输入一个整形数字,此整数代表矩形的宽度,输出此矩形如:请输入矩形宽度: 10###########        ##        ###########请输入矩形宽度: 5######      ##      ######练习:输入一个字符串,打印如下内容:1. 打印这个字符串的第一个字符2. 打印这个字符串的最后一个字符3. 如果这个字符串的长度是奇数,打印中间这个字符注:求字符串的长度的函数len(s)练习:1. 写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉后,打印出处理后的字符串2. 输入任意一个字符串,判断这个字符串是否是回文回文示例:上海自来水来自海上ABCCBA12321(回文是指中心对称的文字)练习:1. 写一个程序,输入一段字符串,如果字符串不为空,把第一个字符的编码值打印出来2. 写一个程序,输入一个整数值(0~65535), 打印出这个数值所对应的字符练习:1. 输入一个字符串用变量s绑定1) 判断您输入的字符串有几个空格2) 将原字符串的左右空白字符去掉, 打印出剩余的字符个数3)判断您输入的是否是数字4) 如果是数字,判断这个数字是否大于1002. 输入三行文字,让这三行文字在一个方框内居中显示如输入:hello!I'm studing python!I like python显示如下+---------------------+|       hello!        || I'm studing python! ||    I like python    |+---------------------+注:请不要输入中文练习:输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出如:请输入第1行: hello world请输入第2行: aaa请输入第3行: ABCDEFG输出结果如下:hello worldaaaABCDEFG做完上面的题后思考:能否以最长的字符串的长度进行右对齐显示(左侧填充空格)问题:输入一个整数n, 写程序打印如下:这是第 1 行这是第 2 行这是第 3 行...这是第 n 行问题:如何让一条语句重复执行多次?用:print("这是第", i, '行')  能否实现练习:1. 输入一行字符串,将字符串中Unicode编码值最大的一个字符打印出来(不允许用max函数)(提示: while语句内可以嵌入 if 语句进行判断)2. 打印 从零开始的浮点数,每个数增加 0.5, 打印出10以内的这样的数:0.00.51.01.5...9.5练习:
1. 打印 1 ~ 20的整数2. 打印从10开始 到 0(不包含0)之间的整数3. 打印 1 ~ 20的整数,打印在一行内4. 打印 1 ~ 20的整数,每行打印5个,打印四行如:1 2 3 4 56 7 8 9 1011 12 ..........提示: while中可以嵌入if语句来换行5. 输入一个整数n, 打印出一个长方形n 代表长方形的宽度的字符数和高的行数例如:请输入:4打印:#####  ##  #####请输入:6打印:#######    ##    ##    ##    #######练习:输入一个数,打印指定宽度的正方形如:输入: 5打印如下正方形:1 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5如:输入: 3打印如下正方形:1 2 31 2 31 2 3练习:1. 写程序,计算:1 + 2 + 3 + 4 + ..... + 99 + 100的和2. 写程序,任意输入一个数n,计算:1 + 2 + 3 + 4 + ..... + (n-1) + n的和问题:如果在循环过程中不想再继续此循环语句的执行了,怎么办?练习:1. 任意输入一些数,当输入负数时结束输入当输入完成后,打印您输入的这些数的和是多少?2. 写程序求:Sn = 1 + 1/2 + 1/4 + 1/8 + .... + 1/(2**n)求当n等同于100时,sn的值是多少?3. 用while语句实现打印三角形,输入一个整数,表示三角形的宽度和高度,打印出相应的直角三角形:如:请输入三角形的宽度: 41) 打印如下:**********2) 打印如下:**********3) 打印如下:**********4) 打印如下:**********练习:任意输入一段字符串1) 计算您输入的字符'A' 的个数,并打印出来2) 计算出空格的个数,并打印出来(要求用for语句,不允许使用, S.count方法)思考用while语句能否实现上述功能练习:用for 语句打印1~20 打印在一行内练习:求 100以内有哪儿些整数与自身+1的乘积再对11求余的结果等于8?x * (x+1) % 11 == 8  x附合条件1. 写程序计算  1 + 3 + 5 + 7 + ...+ 99的和(要求用for语句和while语句两种方式实现)2. 用while语句实现打印:1 3 5 7 9. .... 19 打印在一行内3. 将上题用for语句来实现练习:用for 语句实现下题 :1. 输入一个数w代表正方形的宽度,打印如下正方形:如输入:51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 52. 写程序来改写上题:如输入: 5打印如下:1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 9如输入: 3打印如下:1 2 32 3 43 4 5练习:1. 输入一个整数用begin绑定,再输入一个整数用end绑定打印从begin开始,到end结束内的全部奇数(不包含end)2. 将上述练习改写为 用while语句实现3. 求 1~100 之间所有不被 5, 7, 11 整除的数的和(可以考虑用continue实现)练习:1 输入三行文字,将这三行文字, 保存于一个列表L中,并打印如:请输入: abc<回车>请输入: 123<回车>请输入: 你好<回车>生成列表如下:L = ['abc', '123', '你好']print(L)  打印练习:1. 输入任意行文字,存于列表L中,当不输入任何内容直接回车后结束输入1) 打印L列表中的内容2) 计算您共输入了几行内容3) 计算您共输入了多少个字符2. 输入一个整数(代表树干的高度)打印出如下一棵树输入: 2打印:******输入:3************3. 写一个程序,任意输入一个整数,判断这个数是否是素数(prime)素数(也叫质数), 是只能被1和自身整除的正整数:如: 2 3 5 7 11 等提示:用排除法: 当判断x是否是素数是,只要让x分别除以:2, 3, 4, 5, .... x-1, 只要整除了,那x不是素数,否则x是素数4.算出100~1000以内的水仙化数(Naricissistic Number)水仙花数是指百位的3次方 加上 十位的3次方 加上 个位的3次方等于原数的数如:153 = 1**3 + 5**3 + 3**3答案:153, 370, ....练习:已知有列表:L = [3, 5]1) 用索引和切片等操作,将原列表改变为:L = [1, 2, 3, 4, 5, 6]2) 将列表反转,删除最后一个元素后打印此列表...print(L)  # [6, 5, 4, 3, 2]练习:1. 写程序,让用户输入一些整数,当输入-1时结束输入,将这些数存于列表L中1)  打印用户共输入了几个数?2)  打印您输入的数的最大数是多少3)  打印您输入的数的最小数是多少4)  打印您输入的这些数的平均值是多少?练习:输入多行文字,存入列表中,每次输入回车后算一行任意输入多行,当输入回车(即输入空行时结束输入)1) 按原输入内容在屏幕上输出内容2) 打印出您共输入了多少行文字3) 打印出您共输入了多少个字符练习:1. 有字符串"hello"请用此字符串生成:'h e l l o' 和 'h-e-l-l-o'答案:s = "hello"a = ' '.join(s)  # a = 'h e l l o'b = '-'.join(s)  # b = 'h-e-l-l-o'2. 写一个程序,让用户输入很多正整数,当输入小于零的数时结束输入,1) 打印这些数中最大的一个数2) 打印这些数中第二大的一个数3) 删除最小的一个数4) 打印剩余数的和练习:用列表推导式生成1~100内奇数的列表结果是: [1, 3, 5, 7, ..... 99]L = [x for x in range(1, 100, 2)]示例:生成1~00内的奇数的列表:L = [x for x in range(1, 100) if x % 2 == 1]练习:生成一个数值为 1 ~ 9的平方的列表,去掉所有的奇数的平方L = [x**2 for x in range(1, 10)]# L = [4, 16, 36, 64]练习:1. 已知有一个字符串s = '100,200,300,500,800'将其转化为整数的列表存于L列表中L = [100, 200, 300, 500, 800]2. 生成前40个斐波那契数(Fibonacci)1  1  2  3  5  8  13  .....要求将这些数保存在列表中打印这些数3. 有一些数存于列表中:L = [1, 3, 2, 1, 6, 4, 2, ..... 98, 82]将列表中出现的数字存入到另一个列表L2中要求: 重复出现多次的数字在L2列表中只保留一份(去重)写程序,实现以下要求:1) 将如下数据形成一个字典seasons:'键'    '值'1      '春季有1, 2, 3月'2      '夏季有4, 5, 6月'3      '秋季有7, 8, 9月'4      '冬季有10,11,12月'2) 让用户输入一个整数,代表一个季度,打印这个季度对应的信息,如果用户输入的信息不在字典内,则打印信息不存在练习:输入一段字符串,打印出这个字符串中出现过的字符的出现次数如:输入:abcdabcaba打印:a: 4次b: 3次d: 1次c: 2次注:不要求打印的顺序练习:有字符串的列表如下:L = ['tarena', 'xiaozhang', 'tyke']用上述列表生成如下字典:d = {'tarena': 6, 'xiaozhang': 9, 'tyke':4}注:字典的值为键的长度练习:1. 已知有两个等长的列表 list1  和 list2以list1中的元素为键,以list2中的元素为值,生成相应的字典list1 = [1001, 1002, 1003, 1004]list2 = ['Tom', 'Jerry', 'Spike', 'Tyke']生成的字典为:{1001: 'Tom', 1002:'Jerry', .....}2. 输入任意个学生的姓名,年龄,成绩,每个学生的信息存入字典中,然后放入至列表中,每个学生的信息需要手动输入当输入姓名为空时结束输入:如:请输入姓名:  xiaozhang请输入年龄:  20请输入成绩:  100请输入姓名:  xiaoli请输入年龄:  18请输入成绩:  98请输入姓名:  <回车> 结束输入要求内部存储格式如下:[{'name':'xiaozhang', 'age':20, 'score':100}, {'name':'xiaoli', 'age':18, 'score':98}]打印所有学生的信息如下:+---------------+----------+----------+|     name      |   age    |   score  |+---------------+----------+----------+|   xiaozhang   |    20    |   100    ||     xiaoli    |    18    |    98    |+---------------+----------+----------+集合练习:经理有: 曹操,刘备,孙权技术员有: 曹操,孙权,张飞,关羽用集合求:1) 即是经理,也是技术员的有谁?2) 是经理,但不是技术员的人员都有谁?3) 是技术员,不是经理的都有谁4) 张飞是经理吗?5) 身兼一职的人都有谁?6) 经理和技术员共有几个人?练习:任意输入一些数字,存于列表L中。当输入负数时结束输入1) 打印这些数的和 2) 打印这些数有多少种(去重)3) 除重复的数字后,打印这些剩余数字的和提示,可以用集合去重练习:1. 写一个函数myadd, 此函数中的参数列表里有两个参数x, y此函数的功能是打印 x + y 的和def myadd(....):....  # 注: .... 部是是我们要填写代码的地方myadd(100, 200)  # 300print("ABC", "123")  # ABC1232. 写一个函数 mysum, 传入一个参数x代表终止整数,打印出 1 + 2 + 3 + 4 + ..... + x的和def mysum(x):....mysum(100)  # 5050mysum(4)   # 10return 语句语法:return [表达式]注: []  代表可省略作用:用于函数中,结束当前函数的执行,返回到调用该函数的地方,同时返回一个对象的引用关系return 语句说明1. return 语句后跟的表达式可以省略,省略后相 当于return None2. 如果函数内没有return 语句,则函数执行完最后一条语句后返回None(相当于在最后加了一条return None语句)示例见:return.py练习:1. 写一个函数 mymax, 给函数传递两个参数,返回两个实参中最大的一个def mymax(a, b):....v = mymax(100, 200)print('v =', v)  # v = 200print(mymax('ABC', 'abc'))  # abc2. 写一个函数 input_numberdef input_number():....此函数用来获取用户循环输入的整数,当用户输入负数时结束输入。将用户输入的数字以列表的形式返回,再用内建函数max, min, sum取出户输入的最大值,最小值及和L = input_number()print(L)  # 打印此列表print("用户输入的最大数是:", max(L))print("用户输入的最小数是:", min(L))print("用户输入的数的和是:", sum(L))练习:1. 写一个函数 print_odd, 打印从begin开始,到end结束(不包含end)内的全部的奇数def print_odd(begin, end):....print_odd(1, 10)  # 打印 1 3 5 7 9dptint_odd(10, 20) # 打印 11 13 15 17 192. 定义两个函数:sum3(a, b, c) 用于返回三个数的和pow3(x)  用于返回x的三次方用以上函数计算:1. 计算1的立方 + 2的立方 + 3的立方的和即:  1**3 + 2**3 + 3**3的和 2. 计算1 + 2 + 3 的和的立方,即:(1+2+3)**33. 改写之前的学生信息管理程序改为两个函数:1. 写一个函数 input_student() 用于返回学生信息的字典的列表(以前格式一样)2. 写一个函数 output_student(lst)此函数传入一个列表lst,即字典的列表此函数把lst的内容以表格形式打印出来def input_student():....def output_student(lst):...L = input_student()  # 获取学生信息的列表output_student(L)  # 把L 以列表的形式打印 练习:写一个函数minmax(a, b, c)  有三个参数,这回这三个参数中的最小值和最大值,要求,形成元组,最小值在前,最大值在后,如:def minmax(a, b, c):...t = minmax(11, 33, 22)print(t)  # (11, 33)  # <<< 打印元组xiao, da = minmax(6, 5, 4)print('最小值:', xiao, '最大值:', da)练习:写一个函数 myadd, 此函数可以计算两个数的和,也可以计算三个数的和def myadd(......):....print(myadd(10, 20))  # 30print(myadd(100, 200, 300))  # 6002. 写一个函数,print_odd, 此函数可以传递一个实参,也可以传递两个实参,当传递一个实参时代表结束值当传递两个实参时,第一个实参代表起始值,第二个实参代表结束值打印出以此区间内的全部奇数,不包含结束数:print_odd(10)  # 1 3 5 7 9print_odd(11, 20)  # 11 13 15 17 19     练习:写一个函数, mysum可以传入任意个实参的数字,返回所有实参的和def mysum(*args):...print(mysum(1, 2, 3, 4))  # 10print(mysum(10, 20, 30))  # 60练习:写一个函数,mymax类似于 内键的函数max详见:>>> help(max)仿造 max 写一信mymax函数,功能与max完全相同(要求不允许调用max函数)print(mymax([6, 8, 3, 5]))  # 8print(mymax(100, 200))  # 200print(mymax(1, 3, 5, 9, 7))  # 9思考题:查看 >>>help(print)猜想print函烽的参数列表 是如何定义的?练习:创建一个全局变量 L = []写一个函数:def input_number():....此函数每次调用将从键盘读入一些数字追加到列表L中 如:L = []def input_number():....input_number()print(L)  # [ .... 这些是您从键盘输入的数..]练习:1. 写一个函数isprime(x) 判断x是否为素数。如果是素数,返回True,否则返回False2. 写一个函数prime_m2n(m, n) 返回从m开始,到n结束(不包含n)范围内的素数,返回这些素数的列表并打印如:L = prime_m2n(5, 10)print(L)  [5, 7]3. 写一个函数pimes(n) 返回小于n的全部素数的列表,并打印这些素数如:L = primes(10)print(L)  # [2, 3, 5, 7]1) 打印100 以内的全部素数2) 打印200 以内的全部素数的和4. 编写函数 fn(n) 此函数返回下列级数的和:fn(n) = 1/(1*2) + 1/(2*3) + .... + 1/(n*(n-1)) 的和print(fn(100))练习:写一个计算公式的解释执行器已知有如下一些函数:def myadd(x, y):return x + ydef mysub(x, y):return x - ydef mymul(x, y):return x * y写一个函数,传入字符串,返回相应的函数def get_op(s):# 此函数根据字符串来返回相应的函数.# 如果传入字符串"加" 则返回myadd函数# ....        '乘',则返回mymul函数... 此处自己实现 主程序如下:while True:s = input("请输入计算公式: ")# 10 加 20L = s.split()a = int(L[0])b = int(L[2])fn = get_op(L[1])print("结果是:", fn(a, b))  # 30
练习:写一个函数叫hello(name),部分代码如下:count = 0def hello(name):print('你好', name)... 此处代码省略,需要同学们自己填写... 此处代码需要改变全局变量来记录此函数曾经被调用过多少次.hello('小张')hello('小李')print('hello 函数被调用', count, '次')  # 2次练习:1. 写一个lambda 表达式,判断这个数的2次方+1是否能被5整除,如果能被整除返回True, 否则返回False例:fa = lambda x: .....print(fa(2))  # Trueprint(fa(4))  # False2. 写一个lambda表达式,求两个变量的最大值例如:def mymax(x, y):...mymax = lambda ...print(mymax(100, 200))  # 200练习:1. 给出一个整数n,写一个函数myfac来计算n!(n的阶乘)n! = 1 * 2 * 3 * 4 * ..... * n如:print(myfac(5))  # 1202. 给出一个整数n,写一个函数计算myfn(n):1 + 2**2 + 3**3 + .... + n**n的和如:print(myfn(10)) # ???3. 完全数:1 + 2 + 3 = 6 (6为完全数)1,2,3都为6的因数(因数是能被一个数x整除的整数为y,则y为x的因数)1 x 6 = 62 x 3 = 6完全数是指除自身以外的所有因数相加之和等于自身的数求 4~5个完全数并打印出来答案:628496......4 实现带有界面的学生信息管理系统程序启动时先弹出操作菜单:+-------------------------+| 1)  添加学生信息          || 2)  显示学生信息          || 3)  删除学生信息          || 4)  修改学生成绩          || q)  退出                 |+-------------------------+请选择: 1要求 :每个选择都要有一个函数来实现练习:1. 用map函数求:1**3 + 2**3 + 3 ** 3 + .... 9**3 的和2. 用map函数求:1**4 + 2**4 + 3 ** 4 + .... 20**4 的和提示: sum(map(.....)) 练习:1. 将 1 ~ 20 的偶数用filter生成可迭代对象后将可迭代对象生成的数放入到列表L中2. 写一个函数is_prime(x) 判断x是否是素数用filter函数打印出: 20 ~ 30之间的全部素数练习:names = ['Tom', 'Jerry', 'Spike', 'Tyke']排序的依据为字符串的反序:'moT'   yrreJ    ekipS    ekyT结果:['Spike', 'Tyke', 'Tom', 'Jerry']练习:写函数 mysum(n)用递归方式实现求和def mysum(n):# 用递归方式求和...print(mysum(100))  # 5050思考题:已知五位朋友在一起第五位朋友比第四位朋友大2岁第四位朋友比第三位朋友大2岁第三位朋友比第二位朋友大2岁第二位朋友比第一位朋友大2岁第一位朋友说它10岁练习:1. 已知五位朋友在一起第五位朋友比第四位朋友大2岁第四位朋友比第三位朋友大2岁第三位朋友比第二位朋友大2岁第二位朋友比第一位朋友大2岁第一位朋友说它10岁写程序打印出第五位朋友 和第三位朋友 的年龄2. 已知有列表:L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]1) 写一个函数print_list(lst) 打印出所有元素print(L)  # 打印 3 5 8 10 13 14 ....2) 写一个函数sum_list(lst) 返回这个列表中所有元素的和print(sum_list(L))  # 86注:type(x) 可以返回一个变量的类型如:>>> type(20) is int # True>>> type([1, 2, 3]) is list # True3. 改写之前的学生信息管理程序要求添加四个功能:| 5) 按学生成绩高-低显示学生信息 || 6) 按学生成绩低-高显示学生信息 || 7) 按学生年龄高-低显示学生信息 || 8) 按学生年龄低-高显示学生信息 |练习:1. 输入一个圆的半径,打印出这个圆的面积2. 输入一个圆的面积,打印出这个圆的半径 (要求用math模块内的函数和数据实现)练习:写一个程序,输入你的出生日期,1) 算出你已经出生多少天?2) 算出你出生的那天是星期几?练习:1. 请编写函数fun 其功能是计算下列多项式的和:fn = 1 + 1/1! + 1/2! + 1/3! + 1/4! + .. + 1/n!(建义用数学模块的factorial实现)求当n 等于100时,fn的值看一下fn(100)的值是什么2. 写一个程序,以电子时钟格式:HH:MM:SS格式显示时间要求每隔一秒变化一次3 写函数f(n)求下多项式的和fn = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 .... 1/(2*n-1)的和求当n取值为1000000时,1) 打印 f(1000000) 的值2) 打印 f(1000000) * 4的值,看看是什么练习:1. 猜数字游戏随机生成一个 0~100之间的一个整数,用变量x绑定让用户输入一个数y,输出猜数字的结果:1) 如果y大于x则提示: "您猜大了"2) 如果y小于x则提示: "您猜小了"3) 如果y等于生成的数x,则提供示用户"恭喜您猜对了 "并退出猜数字循环重复上述步聚,直到猜对为止。猜对了,显示用户猜数字的次数,然后退出程序练习:1. 写一个闹钟程序,启动时设置定时时间,到时间后打印一句"时间到...." 然后退出程序2. 模拟斗地主发牌,扑克牌共54张黑桃('\u2660'), 梅花('\u2663'), 方块('\u2665'), 红桃('\u2666')A2-10JQK大王、小王三个人玩,每人发17张牌,底牌留三张输入回车, 打印出第1个人的17张牌输入回车, 打印出第2个人的17张牌输入回车, 打印出第3个人的17张牌输入回车, 打印三张底牌3. 修改学生信息管理程序,将原student_info.py 拆分为模块要求:1. 主事件循环放在main.py中2. show_menu 函数放在menu.py中3. 与学生操作相关的函数放在 student_info.py中练习:写一个函数 get_score() 来获取学生成绩,要求用户输入 1~100的整数,输果输入出现异常,返此函数返回0,否则返回用户输入的成绩示例:def get_score():...score = get_score()print("学生的成绩是:", score)python中全部的错误类型:参见文档:python_base_docs_html/Python全部的异常类型.html练习:写一个函数 get_age()用来获取一个人的年龄信息此函数规定用户只能输入1~140之间的整数,如果用户输入其它的数则直接触发ValueError类型的错误通知如果用户输入的年龄大于140,则触发ValueError("年龄超出了正常值")如果用户输入的年龄小于1,则触发ValueError("年龄太小...")def get_age():...try:age = get_age()print("用户输入的年龄是:", age)except ValueError as err:print('用户输入的不是1~140的整数,获取年龄失败')print("原因是:", err)练习:1. 一个球从100米高空落下,每次落地后反弹高度是原高度的一半,再落下,1) 写程序算出皮球在第10次落地后反弹高度是多高?2) 打印出球共经过多少米的路程2. 分解质因数, 输入一个正整数,分解质因数,如:输入: 90则打印:'90=2*3*3*5'(质因数是指最小能被原数整除的素数(不包括1))3. 修改原学生信息管理程序,加入异常处理语句,让程序在任何情况下都能够按逻辑正常执行.例如:输入成绩和年龄时,如果用户输入非法字符串也不会导致程序崩溃练习:有一个集合:s = {'唐僧', '悟空', '八戒', '沙僧'}用 for语句来遍历所有元素如下:for x in s:print(x)else:print('遍历结束')请将上面的for语句改写为 用while语句和迭代器实现练习:写一个生成器函数 myeven(start, stop)此函数用来生成从 start开始到stop结束(不包含)区间内的一系列偶数def myeven(start, stop):....evens = list(myeven(10, 20))print(evens)  # [10, 12, 14, 16, 18]for x in myeven(21, 30):print(x)  # 22, 24, 26, 28L = [x**2 for x in myeven(3, 10)]print(L)  # 16 36 64练习:已知有一个列表LL = [2, 3, 5, 7]用生成器表达式从此列表中拿到数,生成 列表中数据的平方gen = ......  # 此处用生成器表达式实现L2 = list(gen)  # L2 = [4, 9, 25, 49]思考:L = [2, 3, 5, 7]L2 = [x ** 2 for x in L]  # 列表推导式it = iter(L2)print(next(it))  # 4L[1] = 10print(next(it))  # 9L = [2, 3, 5, 7]G3 = (x ** 2 for x in L)  # 生成器表达式it = iter(G3)print(next(it))  # 4L[1] = 10print(next(it))  # 100练习:写一个程序,读入任意行的文字,当输入空行时结束输入打印带有行号的输入结果:如:请输入: hello<回车>请输入: world<回车>请输入: tarena<回车>请输入: <回车> # 直接回车结束输入输出如下:第1行: hello第2行: world第3行: tarena练习:写一个程序,从键盘输入一段字符串存入s变量1. 将此字符串转为字节串用变量b绑定,并打印出b2. 打印字符串s的长度和字节串b的长度3. 将b字节串再转换为字符串用变量s2 绑定,判断 s2 和 s是否相同?练习:1. 写一个生成器函数primes生成素数,此生成器函数为 primes(begin, end)如: [x for x in primes(10, 20)] 将得到列表[11, 13, 17, 19]2. 写一个生成器函数,生成斐波那契数列的前n个数1 1 2 3 5 8 13def fibonacci(n):...yield...1) 输出前20个数:for x in fibonacci(20):print(x)2) 打印前40个数的和:print(sum(fibonacci(40)))3. 写程序打印杨辉三角(只打印6层)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1练习:自己写一个文件 'info.txt' 内部存一些文字信息如:张三 20 100李四 21 96小王 22 98写程序将这些数据读取出来,打印到终端上练习:1. 写程序,循环输入很多个人的姓名,电话号码,当输入结束后将这些信息存入到文件phonenumber.txt中(建议先用列表暂存数据,格式自己定义)2. 写程序,将phonenumber.txt文件中的数据读取出来.再用以下格式打印出来:如:小张 的电话是 13888888888小李 的电话是 13999999999练习:1. 写程序实现复制文件的功能要求:1. 要考虑特大文件问题2. 要关闭文件3. 要能复制二进制文件如:请输入源文件路径名:  /home/tarena/xxx.tar.gz请输入目标文件路径名: ./a.tar.gz显示:文件已成功复制2. 修改学生信息管理程序,要求加入两个功能:9)  保存信息到文件(si.txt)10) 从文件中读取数据(si.txt)练习:自己写一个'人'类: Humanclass Human:def set_info(self, name, age, address='未知'):'''此方法用来给人对象添加'姓名', '年龄', '家庭住址'三个属性'''...  # << 此处自己实现def show_info(self):'''显示此人的全部信息'''... # 此处自己实现如:h1 = Human()h1.set_info('小张', 20, '北京市朝阳区')h2 = Human()h2.set_info('小李', 18)h1.show_info()  # 小张今年 20 岁,家庭住址:北京市朝阳区h2.show_info()  # 小李今年 18 岁,家庭住址:末知练习:写一个Student类1) 为该类添加初始化方法, 实现在创建对象时自动设置'姓名','年龄', '成绩' 属性2) 添加set_score方法能修改成绩信息3) 添加show_info方法打印学生对象的信息如:class Student:def __init__(...):......s1 = Student('小王', 15, 59)s1.show_info()  # 小王 今年 17 岁, 成绩是: 59s1.set_score(80)s1.show_info()  # 小王 今年 17 岁, 成绩是: 80面向对向的综合示例:有两个人(Human):1.姓名: 张三年龄: 352.姓名: 李四年龄: 8行为:1. 教别人学东西 teach2. 赚钱 works3. 借钱 borrow事情:张三 教 李四 学 python李四 教 张三 学 跳皮筋张三 上班赚了 1000 元钱李四 向 张三 借了 200 元钱打印张三的信息: 35岁 的 张三 有钱 800元, 它学会跳皮筋打印李四的信息: 8岁 的 李四 有钱 200元, 它学会python
练习:修改原来的学生信息管理程序,将原来字典来存储学生信息,现改为用对象来存储学生信息# file : student.py  class Student:def __init__(self, n, a, s):....L = []# L.append({...}) 改为对象L.append(Student('xiaozhang', 20, 100))(要求类Student 要写在模块 student.py中)练习:用类来描述一个学生的信息(可以修改之前写的Student类)class Student:.... 此处自己实现学生信息有:姓名, 年龄, 成绩将一些学生的对象存于列表中,可以任意添加和删除学生信息1) 打印出学生的个数2) 打印出所有学生的平均成绩3) 打印出所有学生的平均年龄思考:list类里只有一个append向末尾加一个元素的方法,但没有向列表头部添加元素的方法,试想能否为列表在不改变原有类的基础上添加一个insert_head(n) 方法,实现在列表的头部(前部)添加元素如:class MyList(list):def insert_head(self, n):...  # 需要自己添加代表myl = MyList(range(3, 6))print(myl)  # [3, 4, 5]myl.insert_head(2)print(myl)  # [2, 3, 4, 5]myl.append(6)print(myl)  # [2, 3, 4, 5, 6]练习:1. 看懂学生管理程序,每一步做的事情及思想2. 把同学们自己的学生信息管理程序用Student学生对象来存储信息;要求,不要在外部直接操作学生的属性,所有操作行为用方法来代替练习:写一个类Bicycle类 ,有 run方法.调用时显示骑行里程kmclass Bicycle:def run(self, km):print('自行车骑行了', km, '公里')再写一个类EBicycle(电动自行车类), 在Bicycle类的基础上添加了电池电量 volume 属性, 有两个方法:1. fill_charge(self, vol)  用来充电, vol为电量2. run(self, km) 方法每骑行10km消耗电量1度,同时显示当前电量,当电量耗尽时调用 父类的run方法继续骑行b = EBicycle(5)  # 新买的电动有内有5度电b.run(10)  # 电动骑行了10km还剩 4 度电b.run(100)  #电动骑行了40km,还剩0度电,其余60用脚登骑行b.fill_charge(10)  # 又充了10度电b.run(50)  # 骑行了50公里剩5度电练习:1. 修改原有的学生信息管理系统, 将学生对象的,全部属性 都变为私有属性,不让外部直接访问来实现封装2. 写一个列表类MyList实现存储整数列表,写类的定义如下:class MyList:def __init__(self, iterator):self.data = ...让此类的对象能用for语句进行迭代访问L = MyList(range(5))print(L)L2 = [x ** 2 for x in L]print(L2)  # [0, 1, 4, 9, 16]3. 写一个类Fibonacci 实现迭代器协议 ,此类的对象可以作为可迭代对象生成相应的斐波那契数1 1 2 3 5class Fibonacci:def __init__(self, n)  # n代表数据的个数......实现如下操作:for x in Fibonacci(10):print(x)  # 1 1 3 5 8 ....L = [x for x in Fibonacii(50)]print(L)F = fibonicci(30)print(sum(F))  练习:1. 实现两个自定义的列表相加class MyList:....  此处自己实现L1 = MyList([1, 2, 3])L2 = MyList(range(4, 7))L3 = L1 + L2print(L3)  # MyList([1, 2, 3, 4, 5, 6])L4 = L2 + L1print(L4)  # MyList([4, 5, 6, 1, 2, 3])L5 = L1 * 2print(L5)  # MyList([1, 2, 3, 1, 2, 3])练习:实现有序集合类 OrderSet() 能实现两个集合的交集 &,全集 |,补集 -  对称补集 ^, ==/!= , in/ not in 等操作要求集合内部用 list 存储class OrderSet:...s1 = OrderSet([1, 2, 3, 4])s2 = OrderSet([3, 4, 5])print(s1 & s2)  # OrderSet([3, 4])print(s1 | s2)  # OrderSet([1, 2, 3, 4, 5])print(s1 ^ s2)  # OrderSet([1, 2, 5])if OrderSet([1, 2, 3]) != OrderSet([3, 4, 5]):print("不相等")if s2 == OrderSet(3, 4, 5):print('s2 == OrderSet(3, 4, 5) is True')if 2 in s1:print("2在 s1中")

Python全栈工程师 (exercises)相关推荐

  1. python全栈工程师薪水_不止 20K,Python 工程师薪资再飙升(内附转型指南)

    原标题:不止 20K,Python 工程师薪资再飙升(内附转型指南) Python 诞生之初就被誉为最容易上手的编程语言.进入火热的 AI 人工智能时代后,它也逐渐取代 Java,成为编程界的头牌语言 ...

  2. 大龄开发者究竟该何去何从?2019年Python全栈工程师,都是开发人员改怎么转向高收入?

    是继续做技术还是"强迫"自己转型做管理? 作者 | Petr Zemek 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 很多人因为喜欢 ...

  3. 网易微专业python全栈工程师_Python 的工作已经饱和?那是因为你只会 Python

    原标题:Python 的工作已经饱和?那是因为你只会 Python 正如麦肯锡所说,数据已经渗透到现在的每一个行业中,成为重要的生产因素.各大公司对数据的重视度与日俱增,而随之一同增长的还有就业市场对 ...

  4. 案例驱动python编程入门-郑州高薪python全栈工程师

    阶段一.Python 全栈工程师之必知必会 - 前端开发技术 课程一.入门必备 - 新手学 HTML5+CSS3 1.HTML基本标签 2.W3C标准及XHTML1.0基本规范 3.表格.表单及框架 ...

  5. python全栈工程师薪水_python全栈+爬虫+自动化+AI=python全能工程师-挑战年薪30W+

    如果你想选择一种语言来入门编程,那么Python绝对是首选! Python非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.编程简单直接,更适合初学编程者,让其专注于编程逻辑,而不是困 ...

  6. python全栈工程师薪水_Python工程师薪资待遇是多少?老男孩Python周末班

    从目前市场上的发展情况来说,Python是一门非常流行的编程语言,随着近几年的发展,Python这门语言变得更加流行了,也越来越火了,根据数据显示,Python发展已经翻了好几倍,是人工智能的头牌语言 ...

  7. 2017最新整理python全栈工程师系统培训之路精品课程(全套)

    百度搜索"一起自学吧"做大数据专家,不做第一,只做唯一. 课程介绍: 本课程由一起自学吧论坛打造,目的是给想成为Python全栈工程师的同学提供一套完整,全面而系统的培训课程,课程 ...

  8. python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云

    python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...

  9. Python全栈工程师-第1周-韦玮-专题视频课程

    Python全栈工程师-第1周-1583人已学习 课程介绍         Python全栈工程师-第1周 课程收益     Python全栈工程师培养课程 讲师介绍     韦玮 更多讲师课程    ...

  10. Python全栈工程师-第14周-韦玮-专题视频课程

    Python全栈工程师-第14周-136人已学习 课程介绍         Python全栈工程师 课程收益     Python全栈工程师 讲师介绍     韦玮 更多讲师课程     企业家,IT ...

最新文章

  1. python @property
  2. 怎么将多个html组合_技巧分享之在HTML元素中添加逼真阴影的教程
  3. Linux-ubuntu18.04 终端命令ping,ssh
  4. 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
  5. 2017,人工智能技术如何让中国开发者“倾心”又“上火”!
  6. 怎么理解高内聚低耦合
  7. nginx 隐藏目录_Nginx学习之简单练习反向代理和负载均衡
  8. ApacheCN 翻译活动进度公告 2019.5.17
  9. “脑科学”已成大国“必争之地” 看各国都亮哪些大招 | 2030年中国脑计划将闯入“终极疆域” 脑科学将成为大国必争之地
  10. 计算机视觉——图像拼接
  11. 游标CURSOR的基本用法
  12. electron-vue 添加右下角通知图标
  13. Android 系统截屏实现
  14. CorelDRAW 2020Mac、2021mac 版本正式回归 macOS免激活版
  15. codeforces 427C tarjan模板题
  16. MATLAB画图-plot-线形、颜色、数据点形状的选择
  17. 国信证券学习系列(6)
  18. 雨,百家讲坛,孔庆东,算法
  19. 网络安全实验室---解密关
  20. python unicodedata用法

热门文章

  1. JAVA网站对接验证码短信接口DEMO示例
  2. 用计算机编纂家谱的作用,家谱软件的比较
  3. opencv换证件照底色
  4. 计算机音乐制作课程标准,苏少版《音乐课程标准》教材编写情况及基本思路
  5. java 设置图片大小_java 用这个方法如何设置图片大小
  6. kms激活win10
  7. css3 - 图标元素动画效果1 - 只执行一次动画
  8. ccy影响因子版270ms
  9. HTML项目答辩演讲稿,办公楼毕业设计答辩演讲稿(答辩自述)
  10. 选中的磁盘具有mbr分区表。在efi_电脑磁盘怎么重建主引导记录mbr【详细步骤】...