- 題目1:九九乘法表
知識點:雙層循環,print打印格式,默認換行打印
"""
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
"""
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%-3d"%(j,i,j*i),end="")
print()
- 題目2:將文件中的數據進行計算並將值重寫到文件中
知識點:讀寫文件,字符串切片,格式化字符串
"""
將文件中的內容計算出來並且將值顯示到文件中
15+34=
15-7=
43+59=
"""
file = open('.\cal_data',mode= 'r')
data_list = file.readlines()
all_data_list = []
for i in data_list:
if '-' in i:
list1 = i.split('-')
sub_value = "%s-%s=%d"%(list1[0],list1[1].split('=')[0],int(list1[0])-int(list1[1].split('=')[0]))
all_data_list.append(sub_value)
elif '+' in i:
list2 = i.split('+')
add_value = "%s+%s=%d" % (list2[0], list2[1].split('=')[0], int(list2[0]) + int(list2[1].split('=')[0]))
all_data_list.append(add_value)
# print(all_data_list)
file = open('.\cal_data',mode='w')
for line in all_data_list:
file.write(line)
file.write('\n')
file.close()
- 題目3:用冒泡法對列表進行排序
知識點:兩個值互換
"[60,13,23,-1,67,-7,12,-2]從小到大的順序排列"
list1 = [60,13,23,-1,67,-7,12,-2]
for i in range(1,len(list1)+1):
for j in range(1,len(list1)):
if list1[j-1]>list1[j]:
list1[j-1],list1[j] = list1[j],list1[j-1]
# print(list1)
print(list1)
- 題目4:將字符串 "k:1 |k1:2|k2:3|k3:4",處理成字典 {k:1,k1:2,...}
知識點:字符串切割,列表轉字典
str1 = "k:1 |k1:2|k2:3|k3:4"
dic1 = {}
for items in str1.split('|'):
k,v = items.split(':')
dic1[k] = int(v)
print(dic1)
- 題目5:求100以內的質數
知識點:質數僅能被1和自己整除的數
分解:
7%6 != 0
7%5 != 0
7%4 != 0
7%3 != 0
7%2 != 0
list1 = []
for j in range(2,101): # 控制2到101之間的循環次數
for i in range(2,j): # 內層循環控制某一個數相除的次數
if j%i == 0:
# print('%s 不是質數'%number)
break
else:
list1.append(j)
print(list1)