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语法示例(基础语法,文件操作,异常处理)的更多相关文章

  1. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  2. python语法(四)— 文件操作

    前面几天学习了一写python的基础语法,也学习了分支if,循环while和for.由于之前已经做过几年的开发了,所以我们知道,许多数据来源并不是靠键盘输入到程序中去的,而是通过数据库和文件来获取到的 ...

  3. Python语法教程-基础语法01

    目录 1. Python应用 2. 在Linux中写python 3. Python基础语法 1. 注释 2. 变量定义及类型 3. 格式化输出 4. 用户输入 5. 运算符 6.数据转换 7. 判断 ...

  4. Python入门基础学习(文件与异常处理)

    Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...

  5. Day3 Python基础学习——文件操作、函数

    一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...

  6. 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 ...

  7. python基础之文件操作,函数

    文件操作 +模式: r+t  w+t  a+t  r+b   w+b  a+b 可读可写,其他功能与人,r,w,a相同 f.seek(offset,whence) 文件指针移动    offest的单 ...

  8. Go语言基础之文件操作

    本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open()函数能够打开一个 ...

  9. Python基础学习——文件操作、函数

    一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...

随机推荐

  1. Apache Hudi表自动同步至阿里云数据湖分析DLA

    1. 引入 Hudi 0.6.0版本之前只支持将Hudi表同步到Hive或者兼容Hive的MetaStore中,对于云上其他使用与Hive不同SQL语法MetaStore则无法支持,为解决这个问题,近 ...

  2. 2020-04-08:谈一下IOC底层原理

    Ioc的底层原理 (1)xml配置文件 (2)dom4j解析xml (3)工厂设计模式 (4)反射

  3. C#LeetCode刷题之#532-数组中的K-diff数对(K-diff Pairs in an Array)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3716 访问. 给定一个整数数组和一个整数 k, 你需要在数组里找 ...

  4. BLE GAP 协议和 GATT 协议

    BLE GAP 协议和 GATT 协议 最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番. BLE 是一个 Bluetooth SIG ...

  5. LeetCode 120. Triangle (三角形最小路径和)详解

    题目详情 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...

  6. 记一次生产环境tomcat线程数打满情况分析

    前言 旨在分享工作中遇到的各种问题及解决思路与方案,与大家一起学习. -- 学无止境, 加油 ! Just do it ! 问题描述 运行环境描述 tomcat-8.5 单节点(该应用集群20个节点) ...

  7. 下面POM插件的作用是转换包名,修改tomcat跳转端口

    <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-mave ...

  8. PythonCrashCourse 第五章习题

    5.1编写一系列条件测试;将每个测试以及你对其结果的预测和实际结果都打印出来.你编写的代码应类似于下面这样: car = 'subaru' print("Is car == 'subaru' ...

  9. Mybatis进阶使用-一级缓存与二级缓存

    简介 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口. 一级缓存 ...

  10. cinder migrate基础内容-源码分析

    一.cinder-api服务入口 D:\code-program\cinder-codejuno\api\contrib\admin_actions.py from cinder import vol ...