前言
该系列文章用来记录一下自己在B站学习python时,进行上机练习用的代码 ——使用 pycharm 2020.3.3【慕课】Python语言基础与应用-北京大学-陈斌-字幕校对
一、判断这一天是这一年的第几天?
# 输入某年某月某日,判断这一天是这一年的第几天?
import datetime
dtstr = input('Enter the datetime: (20170228) : ')
dt = datetime.datetime.strptime(dtstr, "%Y%m%d")
another_dtstr = dtstr[:4] + '0101'
another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")
print(int((dt - another_dt).days) + 1)
二、统计字符个数
# 输入一行字符,分别统计出其中英文字母空格。数字和其他字符的个数。
import string
s = input('input a string:')
letter = 0
space = 0
digit = 0
other = 0
for c in s:
if c.isalpha():
letter+=1
elif c.isspace():
space+=1
elif c.isdigit():
digit+=1
else:
other+=1
print('There are %d letters,%d space,%d digits,and %d other characters in your string.'%(letter,space,digit,other))
三、归并排序
# merge sort
# 归并排序
import random
def merge_sort(data_list):
if len(data_list) <= 1:
return data_list
middle = int(len(data_list) / 2)
left = merge_sort(data_list[:middle])
right = merge_sort(data_list[middle:])
merge = []
while left and right:
merge.append(left.pop(0) if left[0] <= right[0] else right.pop(0))
merge.extend(right if right else left)
return merge
data_list = [random.randint(1, 100) for _ in range(50)]
print(merge_sort(data_list))
四、猜数字游戏
# 猜数字游戏
import random
secret = random.randint(1, 100)
print('''猜数字游戏!
我想了一个1~100的整数,你最多可以猜6次,看看能猜出来吗?''')
tries = 1
while tries <= 6:
guess = int(input("1~100的整数,第%d猜,请输入:" % (tries,)))
if guess == secret:
print("恭喜答对了!你只猜了%d次! \n就是这个: %d" % (tries, secret))
break
elif guess > secret:
print("不好意思,你的数大了点!")
else:
print("不好意思,你的数小了点!")
tries += 1
else:
print("哎呀,怎么也没猜中,再见!")