07_Python语法示例(基础语法,文件操作,异常处理)
1.写程序在终端输出图形
########
# #
# #
########
print("#" * 8)
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 "")
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 "")
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 "")
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 "")
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 = {
'': '星期天',
'': '星期一',
'': '星期二',
'': '星期三',
'': '星期四',
'': '星期五',
'': '星期六'
}
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)
07_Python语法示例(基础语法,文件操作,异常处理)的更多相关文章
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- python语法(四)— 文件操作
前面几天学习了一写python的基础语法,也学习了分支if,循环while和for.由于之前已经做过几年的开发了,所以我们知道,许多数据来源并不是靠键盘输入到程序中去的,而是通过数据库和文件来获取到的 ...
- Python语法教程-基础语法01
目录 1. Python应用 2. 在Linux中写python 3. Python基础语法 1. 注释 2. 变量定义及类型 3. 格式化输出 4. 用户输入 5. 运算符 6.数据转换 7. 判断 ...
- Python入门基础学习(文件与异常处理)
Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...
- Day3 Python基础学习——文件操作、函数
一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...
- python 全栈开发,Day89(sorted面试题,Pycharm配置支持vue语法,Vue基础语法,小清单练习)
一.sorted面试题 面试题: [11, 33, 4, 2, 11, 4, 9, 2] 去重并保持原来的顺序 答案1: list1 = [11, 33, 4, 2, 11, 4, 9, 2] ret ...
- python基础之文件操作,函数
文件操作 +模式: r+t w+t a+t r+b w+b a+b 可读可写,其他功能与人,r,w,a相同 f.seek(offset,whence) 文件指针移动 offest的单 ...
- Go语言基础之文件操作
本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open()函数能够打开一个 ...
- Python基础学习——文件操作、函数
一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...
随机推荐
- 1)uboot的编译和烧写
购买荔枝派ZERO已经将近一个星期了,由于官方资料不够完整一直没有任何进展.经过今夜近三个小时的折腾终于将UBOOT烧写成功,现将过程记录如下: 1)获取官方uboot 源码 : git clone ...
- 基于索引的QA问答对匹配流程梳理
知识库(主要是标准的QA信息)匹配需求是对已经梳理出的大量标准QA对信息进行匹配,找出最符合用户问题的QA对进行回复,拆分主要的处理流程主要为如下两点: 标准QA信息入库索引: 通过对用户提出的问题进 ...
- Elasticsearch第一篇:在 Windows 上的环境搭建
本文介绍如何在 windows 10 ,64位操作系统上安装最新版本 Elasticsearch.以及相关插件.之前看了不少园友的文章,用到的版本都比较低,尤其是插件的版本要和ES的版本相对应等这些问 ...
- C#LeetCode刷题之#657-机器人能否返回原点(Robot Return to Origin)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3959 访问. 在二维平面上,有一个机器人从原点 (0, 0) 开 ...
- C#LeetCode刷题之#500-键盘行(Keyboard Row)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3796 访问. 给定一个单词列表,只返回可以使用在键盘同一行的字母 ...
- 解决 EntityFrameworkCore tool 3.1 init.ps1 is not recognized 问题
昨天将项目升级到.net core 3.1后, 打开vs2019 Package Manager Console后突然发生了错误,如下 最终导致EntityFramework 迁移相关命令都不能正常使 ...
- 谈谈 Qt4 中文乱码的解决
本文只描述Qt4的解决方法,Qt5没有尝试过,不做讨论.网上关于这个话题一搜一大堆,基本无外乎字符集编码的理论,看不明白.直接上代码吧! #include "widget.h" # ...
- 详解Python Graphql
前言 很高兴现在接手的项目让我接触到了Python Graphql,百度上对其介绍相对较少也不够全面,几乎没有完整的中文文档,所以这边也借此机会学习一下Graphql. 什么是Graphql呢? Gr ...
- 二叉搜索树及java实现
二叉搜索树(Binary Search Tree) 二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称为 BST 又被称为:二叉查找树.二叉排序树 任意一个节点的值都大于其左子树所有节 ...
- CSS动画实例:行星和卫星
设页面中有<div class=" planet "></div>,用来绘制一个行星和卫星图形.这个图形包括三部分:行星.卫星和卫星旋转的轨道.定义. pl ...