07_Python语法示例(基础语法,文件操作,异常处理)
1.写程序在终端输出图形
######## # # # # ######## print("#" * 8) print("#" + " " * 6 + "#") print("#" + " " * 6 + "#") print("#" * 8)
2.已知矩形的长边为6cm,短边为4cm,求矩形的周长和面向并打印在终端上
width = 6 hight = 4 perimeter = (width + hight) * 2 area = width * hight print("矩形的周长是%s, 面积是%s" % (perimeter, area))
3.已知连个变量a=1000,b=2000,让a和b交换绑定的对象
方法一: a = 1000 b = 2000 c = a a = b b = c print(a, b) 方法二: a = 1000 b = 2000 a = a + b b = a - b a = a - b print(a, b) 方法三: a = 1000 b = 2000 a, b = b, a # 序列赋值(解构/解包),python独有的方法 print(a, b)
4.打印出以下小星星
'''规律: 1 3 5 7 每一行小星星个数=x*2-1 * *** ***** ******* ''' 方法一: x = 1 while x <= 4: res = "*" * (x * 2 - 1) print(res.center(7)) # center字符居中,两边自动填充字符 x += 1 方法二: for x in range(1, 5): res = "*" * (x * 2 - 1) print(res.center(7))
5.中国古代的秤是16两一斤,那么216两是几斤几两,写程序打印出结果
i = 216 // 16 j = 216 % 16 print("古代的216两是%d斤%d两" % (i, j))
6.从凌晨0:0:0计时,到现在已经过去了63320秒,现在是几时几分几秒,写程序打印出来
t = 63320 // 3600 m = 63320 % 3600 // 60 s = 63320 % 3600 % 60 print("%d:%d:%d" % (t, m, s))
7.将数字3.14用变量pi绑定,转换为整数用变量i绑定,将pi与i相减的结果用变量f绑定
pi = 3.14 i = int(pi) f = pi - i print(f == 0.14) # False del pi, i, f # 删除变量 help("__main__") # 查看当前作用域内变量
8.假设一年只有365天,输入年数,打印这年有多少周,分三次输入时分秒,打印距离0:0:0过了多少秒
year = input("请输入年份:") print("%s有%s周" % (year, 365 // 7)) time_t = int(input("时")) time_m = int(input("分")) time_s = int(input("秒")) print("距离0:0:0过了%s秒" % (time_t * 3600 + time_m * 60 + time_s))
9.输入一个正整数,判断这个数是奇数还是偶数并打印结果
i = int(input("请输入一个正整数:")) if i%2 == 0: print("%s是偶数" % i) else: print("%s是奇数" % i)
10.输入一个季度1-4,输出这个季度有那几个月,输入不是1-4的整数则提示输入有误
quarter = int(input("季度(1~4): ") or "0") if quarter == 1: print("1月, 2月, 3月") elif quarter == 2: print("4月, 5月, 6月") elif quarter == 3: print("7月, 8月, 9月") elif quarter == 4: print("10月, 11月, 12月") else: print("输入有误!")
11.输入一年中的月份1-12,输出这个月在那个季度,如果输入的是其他数则提示输入有误
mouth = int(input("请输入月份(1~12): ") or "0") if mouth in [1, 2, 3]: print("%s月是春季" % mouth) elif mouth in [4, 5, 6]: print("%s月是夏季" % mouth) elif mouth in [7, 8, 9]: print("%s月是秋季" % mouth) elif mouth in [10, 11, 12]: print("%s月是冬季" % mouth) else: print("输入有误!")
12.输入一个数用if语句计算打印这个数的绝对值,再用条件表达式实现计算并打印绝对值
i = int(input("输入一个数字: ")) if i >= 0: print(i) else: print(-i) print(i if i >= 0 else -i)
13.出租车计价器程序,3公里以内收费13元,超过3公里每公里2.3元,超过15公里每公里1.15元,输入公里数打印出费用金额,保留2位小数
kilometer = int(input("请输入公里数: ")) if kilometer <= 3: money = 13 elif 3 < kilometer <= 15: money += (kilometer - 3) * 2.3 elif kilometer > 15: money += (kilometer - 15) * 1.15 else: print("输入有误!") print("费用为%.2f" % money)
14.输入一个学生的三科成绩打印出最高分和最低分
a = int(input("请输入成绩a: ")) b = int(input("请输入成绩b: ")) c = int(input("请输入成绩c: ")) if a > b: a, b = b, a if b > c: b, c = c, b if a > b: a, b = b, a print("最高分为%s, 最低分为%s" % (c, a))
15.每4年一润年,每百年不润,四百年又润,输入一个年分判断是否为润年
方法一: year = int(input("请输入年份: ")) if year % 4 == 0 and year % 100 != 0: print("%s年是闰年" % year) elif year % 400 == 0: print("%s年是闰年" % year) else: print("%s年不是闰年" % year) 方法二: year = int(input("请输入年份: ")) # if条件表达式实现: 成立执行 if 真值表达式 else 不成立执行 print("闰年" if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0) else "不是闰年")
16.BMI身体质量指数程序设计
''' BIM = 体重(公斤)/身高的平方(米) 体重过轻: BIM < 18.5 正常范围: 18.5 <= BIM <= 24 体重过重: BIM > 24 ''' height = int(input("身高: ")) / 100 weight = int(input("体重: ")) bim = weight / (height ** 2) # if条件表达式嵌套实现: 成立执行 if 真值表达式 else '成立执行 if 真值表达式 else 不成立执行' print("体重过轻" if bim < 18.5 else "体重过重" if bim > 24 else "正常范围")
17.写一个程序打印一个高度为4行的矩形方框,输入一个整数数字代表矩形宽度
''' 输入10时打印如下,输入5时打印如下 ########## ##### # # # # # # # # ########## ##### ''' 方法一: width = int(input("请输入矩形宽度: ")) for i in range(1, 5): display = '#' * width if i == 1 or i == 4 else '#' + ' ' * (width - 2) + '#' print(display) 方法二: width = int(input("请输入矩形宽度: ")) t = '%' + str(width - 1) + 's' for i in range(1, 5): # 替换原理: print("#%4s" % "*") display = '#' * width if i == 1 or i == 4 else '#' + t % '#' print(display)
18.输入一个字符串,打印这个字符串的第一个和最后一个字符,字符串长度为偶数打印'|',奇数则打印中间字符
s1 = input("请输入一个字符串: ") print("第一个字符是%s,最后一个字符是%s" % (s1[0], s1[-1])) print("|" if len(s1) % 2 == 0 else s1[len(s1) // 2])
19.输入任意一个字符串,判断这个字符串是否是回文,回文示例:上海自来水来自海上,山东落花生花落东山
s1 = input("请输入一个字符串: ") print("是回文" if s1 == s1[::-1] else "不是回文")
20.输入一段字符串,如果是字符串则打印第一个字符的Unicode值,如果是整数0~65535范围则打印这个值是对应的字符
s1 = input("请输入字符串或正整数: ") print(ord(s1[0]) if s1.isalpha() is True else chr(int(s1)))
21.输入下列三行文字让这三行文字再下面方框内居中显示
''' 请输入第一行: hello world! 请输入第二行: my name is Coco. 请输入第三行: today is Sunday! 显示如下: +----------------------+ | hello world! | | my name is Coco. | | today is Sunday! | +----------------------+ ''' line = 3 temp_list = list(input("请输入字符串%d: " % (i + 1)) for i in range(line)) for i in range(temp_list.count('')): # 循环查找列表中的空字符串后删除空字符串 temp_list.remove('') # max()函数可以输入多个参数,最终返回最大的一个 length = max(len(i) for i in temp_list) for i in range(len(temp_list) + 2): print('+' + '-' * length + '+') if i == 0 or i == len(temp_list) + 1 else \ print('|' + temp_list[i - 1].center(length) + '|')
22.输入一个字符串判断有几分字符e,有几个空格,是否以?结尾
s1 = input("请输入字符串: ") print("%s个字符e" % s1.count('e')) print("%s个空格" % s1.count(' ')) print("字符串以?结尾: %s" % s1.endswith('?'))
23.依次输入下列三行文字,让三行文字按最长个字符的宽度右对齐输出
''' 请输入第1行: hello world! 请输入第2行: my name is Coco. 请输入第3行: today is Sunday! 打印结果如下 hello world! my name is Coco. today is Sunday! ''' line = 3 temp_list = list(input("请输入第%d行: " % (i + 1)) for i in range(line)) for i in range(temp_list.count('')): temp_list.remove('') length = max(len(i) for i in temp_list) temp_str = "%" + str(length) + "s" for i in range(len(temp_list)): print(temp_str % temp_list[i])
24.写程序输入一个整数n,打印n以内不含n的全部不大于0的偶数
方法一: i = 1 j = int(input("请输入一个整数: ")) while i < j: if i % 2 == 0: print(i) i += 1 方法二: for i in range(2, int(input("请输入一个整数: "))): if i % 2 == 0: print(i)
25.打印1~20的整数,要求打印在一行显示且数字与数字之间用一个空格分隔
for i in range(1, 21): print(i, end=' ')
26.打印1~20点整数,每行5个数,打印四行
for i in range(1, 21): if i in [6, 11, 16]: print() print("%d\t" % i, end=" ")
27.打印从零开始的浮点数,每个数增加0.5,打印出10以内所有的这样数
i = 0.5 while i < 10: print(i, end=' ') i += 0.5
28.使用while语句打印10~1之间的整数
i = 10 while i > 0: print(i, end=' ') i -= 1
29.用while语句实现打印三角形,输入一个整数表示三角形的宽度和高度
'''请输入三角形宽度: 4 * ** *** **** ''' width = int(input("请输入三角形宽度: ")) i = 1 while i <= width: j = 1 while j <= i: print("*", end='') j += 1 print() i += 1
30.输入一个数,打印指定宽度的正方形
'''请输入正方形宽度: 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 ''' width = int(input("请输入正方形宽度: ")) for i in range(width): for j in range(1, width + 1): print(j, end=' ') print()
31.用while语句实现打印三角形,输入一个整数表示三角形的宽度和高度
''' * * **** **** ** ** *** *** *** *** ** ** **** **** * * ''' width = int(input("请输入三角形的宽度: ")) i = 1 while i <= width: print("*" * i) i += 1 width = int(input("请输入三角形的宽度: ")) i = 1 while i <= width: print(" " * (width - i) + "*" * i) i += 1 width = int(input("请输入三角形的宽度: ")) i = width while i >= 0: print("*" * i) i -= 1 width = int(input("请输入三角形的宽度: ")) i = width while i >= 0: print(" " * (width - i) + "*" * i) i -= 1
32.输入一个开始值8,输入一个结束值30,按每5个整数打印一行
begin = int(input("请输入开始值: ")) end = int(input("请输入结束值: ")) count = 0 while begin < end: print("%s\t" % begin, end=' ') count += 1 if count % 5 == 0: print() begin += 1
33.用while循环生成字符串'AaBbCcDdEe...XxYyZz'并打印
i = ord('A') while i <= ord('Z'): print(chr(i) + chr(i + 32), end= '') i += 1
34.分别用while和for实现打印输入的字符串中有多少个空格
s = input("请输入字符串: ") count = 0 i = 0 while i < len(s): if s[i] == ' ': count += 1 i += 1 else: print(count) s = input("请输入字符串: ") count = 0 for i in s: if i == ' ': count += 1 print(count)
35.输入一个n,范围在10以内代表矩形的宽度,用for循环实现如下打印结果
'''请输入一个10以内的整数: 5 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 ''' num = int(input('请输入一个10以内的整数: ')) for i in range(1, num + 1): for j in range(i, num + i): print(j, end=' ') print()
36.写一个程序求1~100之间所有不能被5,7,11整除的数的和
count = 0 for i in range(1, 101): for j in [5, 7, 11]: if i % j == 0: break else: count += i print(count)
37.输入一个Unicode开始值和结束值,生成其间的字符串并打印
begin = int(input("begin: ")) end = int(input("end: ")) temp_list = list(chr(i) for i in range(begin, end + 1)) for i in temp_list: print(i, end=" ")
38.输入一个整数代表树干的高度,输入3时打印如下
''' * *** ***** * * * ''' height = int(input("请输入树干的高度: ")) for i in range(1, height + 1): print("%s" % ("*" * (i * 2 - 1)).center(2 * height - 1)) for i in range(height): print("*".center(2 * height - 1))
39.输入一个正整数,打印从0到这个数的素数(prime),素数也叫质数,是只能被1和自身整数的整数
num = int(input("正整数: ") or "0") if num >= 2: print(2, end= ' ') for i in range(2, num + 1): for j in range(2, i): if i % j == 0: break else: if i - j == 1: print(i, end= ' ')
40.写一个程序,让用户输入很多个正整数,当输入小于零的数时结束输入
''' 1)输出这些数的和 2)输出这些数的最大的数和第二大的数 3)删除最小的一个数 4)按原来输入的顺序打印出乘余的这些数 ''' temp_list = list() while True: num = int(input("小于0退出: ") or "-1") if num < 0: break else: temp_list.append(num) print("求和: %d最大数: %d" % (sum(temp_list), max(temp_list))) temp_list.remove(max(temp_list)) print("第二大数: %d" % max(temp_list)) temp_list.remove(min(temp_list)) for i in temp_list: print(i)
41.求100以内有哪儿些整数与自身+1的乘积再对11求余的结果等于8
temp_list = [x for x in range(100) if (x + 1) * x % 11 == 8] print(temp_list)
42.计算20个斐波那契数(fabonacci数)存于列表中并打印,斐波那契数: 从第三个数起后一个数是前两个数之和
temp_list = [1, 1] a = 1 b = 1 for i in range(18): a, b = b, a + b temp_list.append(b) print(temp_list, sum(temp_list))
43.算出100~999以内的水仙花数,水仙花数是指百位的3次方加上十位的3次方加上个位的3次方等于原数的数字
nums = ([x for x in range(100, 1000) if int(str(x)[0])**3 + int(str(x)[1])**3 + int(str(x)[2])**3 == x]) print(nums)
44.任意输入一些大于零数,存于列表中L,当输入-1时结束输入
''' L = [1, 3, 5, 3, 7, 9, 3, 7, 6, 5] 1)打印出这些数 2)打印这些数的和 3)去掉列表L中重复第二次或之后出现的数再次存到另一个列表L2中,L2 = [1, 3, 5, 7, 9, 6] 4)打印L2列表中的数据的和 5)将L列表中出现两次的数存到另一个列表L3中L3 = [5, 7] ''' L = list() while True: num = int(input("请输入大于0的整数: ") or "0") if num == 0: continue if num == -1: break L.append(num) for i in L: print(i, end= ' ') count = 0 for i in L: count += i print("求和: ", count, sep= ':') L2 = list() for i in L: if i not in L2: L2.append(i) for i in L2: print(i, end= ' ') print("L2求和: %s" % sum(L2)) L3 = list() for i in L: if L.count(i) == 2 and i not in L3: L3.append(i) print(L3)
45.任意输入字符串,打印这个字符串是否代表星期几,如果不是以上字符则打印"字典内没有相应的数据"
data = { '0': '星期天', '1': '星期一', '2': '星期二', '3': '星期三', '4': '星期四', '5': '星期五', '6': '星期六' } while True: num = input("请输入0-6查询: ") or "-1" if num in data: print(data[num]) else: print("字典内没有相应的数据")
46.有列表L=['coco', 'angels', 'cat', 'mouse']用推导式生成字典,字典的值为键的长度
L = ['coco', 'angels', 'cat', 'mouse'] dic = {x:len(x) for x in L} print(dic)
47.有列表L1 = [1001, 1002, 1003, 1004],L2 = ['Coco', 'Angels', 'Cat', 'Mouse'],用L1做键L2做值生成字典
L1 = [1001, 1002, 1003, 1004] L2 = ['Coco', 'Angels', 'Cat', 'Mouse'] dic = {L1[x]:L2[x] for x in range(4)} print(dic)
48.输入一段字符串,打印所有输入过的字符串,但重复的只打印一次
se = {x for x in input("请输入字符串: ")} print(se)
49.输入一段字符串,打印出这个字符串中出现过的字符及出现过的次数,字典存储
s = input("请输入字符串: ") or "-1" dic = dict() for i in s: dic[i] = s.count(i) print(dic)
50.一只小猴子摘了很多桃,第一天吃了全部桃子的一半又多吃了一个,到第十天只剩下一个请问第一天多少个桃
# 规律1 4 10 (n+1)*2 num = 1 for i in range(9): num = (num + 1) * 2 print(num)
51.求4~5个完全数,并打印,1+2+3=6(6为完全数),1,2,3都为6的因数(能被一个数x整除的数为y,则y为x的因数)
num = 0 for i in range(1, 10000): for j in range(1, i): if i % j == 0: num += j if num == i: print(i, end=' ') num = 0
52.任意输入一个数n代表三角形的高度,如输入4打印一下菱形
''' 1 121 12321 1234321 12321 121 1 ''' height = int(input("请输入高度: ") or '输入有误') temp_str = str() # 打印菱形上部分(行数字符数增长部分) for i in range(1, height + 1): for j in range(1, i): temp_str += str(j) for x in range(i, 0, -1): temp_str += str(x) print(temp_str.center(height * 2 - 1)) temp_str = '' # 打印菱形下部分(行数字符数减少部分) for i in range(height - 1, 0, -1): for j in range(1, i): temp_str += str(j) for x in range(i, 0, -1): temp_str += str(x) print(temp_str.center(height * 2 -1)) temp_str = ''
53.用for和while分别实现打印九九乘法表
for i in range(1, 10): for j in range(1, i + 1): print("%d*%d=%d" % (i, j, i*j), end= '\t') print() i = 1 while i <= 9: j = 1 while j <= i: print("%d*%d=%d" % (i, j, i*j), end= '\t') j += 1 print() i += 1
54.有文件t1.txt里面的内容如下
'''t1.txt 1,coco,22,13550505050,IT 2,Rubicon,23,13304320533,Tearcher 3,master,18,1333235322,IT 利用文件操作,将其构造成如下数据类型 [{'id': '1','name': 'coco','age': '22','phone': '13550505050', 'job': 'IT'},......] ''' result = [] with open("t1.txt", encoding="UTF-8") as f: # 读取每一行数据 for line in f: dic = {} lst = line.split(",") dic["id"] = lst[0].strip() dic['name'] = lst[1].strip() dic['age'] = lst[2].strip() dic['phone'] = lst[3].strip() dic['job'] = lst[4].strip() result.append(dic) print(result)
作者:唐雪成
版权:本文版权归作者
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任