【Python】100基础例(51-100)+数据分析例

51.学习使用按位与 &(两位同时为“1”,结果才为“1”,否则为0)

#题目:学习使用按位与 &(两位同时为“1”,结果才为“1”,否则为0)
#程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
#例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值为1
a=0x77
b=a&3
print('a&b=%d'%b)
b&=7
print('a&b=%d'%b)

52.学习使用按位或 |

#题目:学习使用按位或 |
#程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
a=77
b=a|3
print('a|b is %d'%b)
b|=7
print('a|b is %d'%b)

53.学习使用按位异或 ^

#题目:学习使用按位异或 ^ 
#程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
a = 77
b = a ^ 3
print('The a ^ 3 = %d' % b)

b ^= 7
print('The a ^ 3 = %d' % b)

54.取一个整数a从右端开始的4〜7位

#题目:取一个整数a从右端开始的4〜7位。
'''程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。'''
a=int(input('输入一个数字:\n'))
b=a>>4
c=~(~0<<4)
d=b&c
print('%o\t%o'%(a,d))

55.学习使用按位取反~

'''
题目:学习使用按位取反~
程序分析:~0=1; ~1=0;
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。
'''
a = 234
b = ~a
print('The a\'s 1 complement is %d' % b)
a = ~a
print('The a\'s 1 complement is %d' % b)

56.tkinter画图,学用circle画圆形

Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的。您可以将图形,文本,小部件或框架放置在画布上。Canvas 是一个通用的组件,通常用于显示和编辑图形。你可以用它来绘制线段、圆形、多边形,甚至是绘制其它组件。在 Canvas 组件上绘制对象,可以用 create_xxx() 的方法(xxx 表示对象类型,例如线段 line,矩形 rectangle,文本 text 等)

#题目:画图,学用circle画圆形
from tkinter import *
canvas=Canvas(width=800,height=600,bg='yellow')
canvas.pack(expand=YES,fill=BOTH)
k=1
j=1
for i in range(0,26):
    canvas.create_oval(310-k,250-k,310+k,250+k,width=1)
    k+=j
    j+=0.3
mainloop()

理解mainloop():GUI编程都有一个主体的死循环,一旦退出这个死循环,程序就结束了,mainloop就可以理解为这样一个循环,只是这个循环里面还有消息队列,这个概念没什么难以理解的,理解不了只是因为知识面太小了,玩一玩pygame库,一些基本的GUI原理就都懂了

57.tkinter画图,学用line画直线

#题目:tkinter画图,学用line画直线
from tkinter import *
canvas = Canvas(width=300, height=300, bg='green')
canvas.pack(expand=YES, fill=BOTH)
x0 = 263
y0 = 263
y1 = 275
x1 = 275
for i in range(19):
    canvas.create_line(x0, y0, x0, y1, width=1, fill='red')
    x0 = x0 - 5
    y0 = y0 - 5
    x1 = x1 + 5
    y1 = y1 + 5

x0 = 263
y1 = 275
y0 = 263
for i in range(21):
    canvas.create_line(x0, y0, x0, y1, fill='red')
    x0 += 5
    y0 += 5
    y1 += 5

mainloop()

58.tkinter画图,学用rectangle画方形

#tkinter画图,学用rectangle画方形
from tkinter import *
root = Tk()
root.title('Canvas')
canvas = Canvas(root, width=400, height=400, bg='yellow')
x0 = 263
y0 = 263
y1 = 275
x1 = 275
for i in range(19):
    canvas.create_rectangle(x0, y0, x1, y1)
    x0 -= 5
    y0 -= 5
    x1 += 5
    y1 += 5

canvas.pack()
root.mainloop()

59.tkinter画图,综合例子

'''题目:tkinter画图,综合例子。  
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位'''
from tkinter import *
canvas = Canvas(width=300, height=300, bg='green')
canvas.pack(expand=YES, fill=BOTH)
x0 = 150
y0 = 100
canvas.create_oval(x0 - 10, y0 - 10, x0 + 10, y0 + 10)
canvas.create_oval(x0 - 20, y0 - 20, x0 + 20, y0 + 20)
canvas.create_oval(x0 - 50, y0 - 50, x0 + 50, y0 + 50)
import math

B = 0.809
for i in range(16):
    a = 2 * math.pi / 16 * i
    x = math.ceil(x0 + 48 * math.cos(a))
    y = math.ceil(y0 + 48 * math.sin(a) * B)
    canvas.create_line(x0, y0, x, y, fill='red')
canvas.create_oval(x0 - 60, y0 - 60, x0 + 60, y0 + 60)

for k in range(501):
    for i in range(17):
        a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k
        x = math.ceil(x0 + 48 * math.cos(a))
        y = math.ceil(y0 + 48 + math.sin(a) * B)
        canvas.create_line(x0, y0, x, y, fill='red')
    for j in range(51):
        a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k - 1
        x = math.ceil(x0 + 48 * math.cos(a))
        y = math.ceil(y0 + 48 * math.sin(a) * B)
        canvas.create_line(x0, y0, x, y, fill='red')
mainloop()

60.计算字符串长度

#计算字符串长度
str1='apple'
print(len(str1))

#方法二
str2='tomato'
length=str1.__len__()
print(length)

61.杨辉三角形

#题目:打印出杨辉三角形(要求打印出10行如下图)
a=[]

for i in range(10):
    a.append([])#append()方法用于在列表末尾添加新的对象
    for j in range(10):
        a[i].append(0)

#全1
for i in range(10):
    a[i][0]=1
    a[i][i]=1
for i in range(2,10):
    for j in range(1,i):
        a[i][j]=a[i-1][j-1]+a[i-1][j]#三角形数

#输出最终结果
for i in range(10):
    for j in range(i+1):
        print(str(a[i][j]))
        #print(' ')
    print()
#方法二:定义求三角和的函数;再for循环调用函数
n=10
def lst(i,j):
    if i==j or j==1:#同行同列=1,第一列=1
        return 1
    else:#其余=三角形和
        return lst(i-1,j-1)+lst(i-1,j)#如(4,3)=(3,2)+(3,3)

for i in range(1,n+1):
    for j in range(1,i+1):
        print(lst(i,j))
    print()

62.字符串.find() 查找字符串

#题目:查找字符串
s1='aeggpple'
s2='egg'
print(s1.find(s2))#1(从0开始)

63.使用tkinter画椭圆

#题目:使用tkinter画椭圆
import tkinter #Canvas对象报错
from tkinter import *
x=360
y=160
top=y-30
bottom=y-30

canvas=Canvas(width=400,height=600,bg='red')
for i in range(20):
    canvas.create_oval(250-top,250-bottom,250+top,250+bottom)#创建椭圆
    top-=5
    bottom+=5
canvas.pack()
mainloop()

64.利用tkinter画图

#题目:利用ellipse 和 rectangle 画图
if __name__ == '__main__':
    from tkinter import *
    canvas = Canvas(width = 400,height = 600,bg = 'white')
    left = 20
    right = 50
    top = 50
    num = 15
    for i in range(num):#for循环创建图形
        canvas.create_oval(250 - right,250 - left,250 + right,250 + left)
        canvas.create_oval(250 - 20,250 - top,250 + 20,250 + top)
        canvas.create_rectangle(20 - 2 * i,20 - 2 * i,10 * (i + 2),10 * ( i + 2))
        right += 5
        left += 5
        top += 10

    canvas.pack()
    mainloop()

65.利用tkinter画复杂图

import math
class PTS:
    def __init__(self):
        self.x = 0
        self.y = 0
points = []

def LineToDemo():
    from tkinter import *
    screenx = 400
    screeny = 400
    canvas = Canvas(width = screenx,height = screeny,bg = 'white')

    AspectRatio = 0.85
    MAXPTS = 15
    h = screeny
    w = screenx
    xcenter = w / 2
    ycenter = h / 2
    radius = (h - 30) / (AspectRatio * 2) - 20
    step = 360 / MAXPTS
    angle = 0.0
    for i in range(MAXPTS):
        rads = angle * math.pi / 180.0
        p = PTS()
        p.x = xcenter + int(math.cos(rads) * radius)
        p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
        angle += step
        points.append(p)
    canvas.create_oval(xcenter - radius,ycenter - radius,
                       xcenter + radius,ycenter + radius)
    for i in range(MAXPTS):
        for j in range(i,MAXPTS):
            canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)

    canvas.pack()
    mainloop()
if __name__ == '__main__':
    LineToDemo()

66.输入三个数字,排序

#题目:输入3个数a,b,c,按大小顺序输出
a=[]#初始化空列表
for i in range(3):#for循环,输入三个数字
    a.append(input('请输入一个数字:'))
a.sort()#sort()方法直接排序
print(a)

67.输入六维数组,最大的与第一个元素交换,最小的与最后一个元素交换

#题目:输入六维数组,最大的与第一个元素交换,
# 最小的与最后一个元素交换,输出数组(第一个最大,最后一个最小)
a=[]
for i in range(6):
    a.append(input('输入一个数字:'))
aa=sorted(a)
for i in range(6):
    if a[i]==max(a):#注意是==
        a[0],a[i]=a[i],a[0]#最大的与第一个元素(从0开始)交换
for i in range(6):
    if a[i]==min(a):
        a[len(a)-1],a[i]=a[i],a[len(a)-1]#最后一个元素序号是len(a)-1,因为从0开始
print(a)

68.有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数

#题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,
# 最后 m 个数变成最前面的 m 个数
a=[]
n=eval(input('几位数:'))#eval(input('...'))将输入的字符串转为数字
for i in range(1,n+1):
    s=input('请输入第%d位数:'%i)
    a.append(s)
print('变换前:%s'%a)

m=eval(input('移动几位:'))#eval(input('...'))将输入的字符串转为数字
b=a[-m:]#后面m个数
c=a[:-m]#除了后面m的其他数
a=b+c#拼接成新列表
print('变换后:%s'%a)

69.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子(除以3的余数为0),问最后留下的是原来第几号的那位

#有n个人围成一圈,顺序排号。
# 从第一个人开始报数(从1到3报数),凡报到3的人退出圈子(除以3的余数为0)
# 问最后留下的是原来第几号的那位。
data=[i+1 for i in range(34)]#[i for i in range(20)]则从0开始;以总人数34为例
print(data)
i=1
while len(data)>1:
    if i%3==0:#报到3的人退出圈子
        data.pop(0)#删除
    else:#不是3,如是1,则转圈圈似的将1放到圈圈的最后
        data.insert(len(data),data.pop(0))
        #insert()函数 将指定对象插入列表的指定位置;list.insert(index位置, obj指定对象)
        #pop() 函数 移除列表中的一个元素(默认最后一个元素),并返回该元素的值。
    i+=1
print(data)

70.求字符串的长度

#题目:写一个函数,求一个字符串的长度,
# 在main函数中输入字符串,并输出其长度。
if __name__=='__main__':#注意是==
    s=input('请输入字符串:\n')
    print('字符串长度为: %d'%len(s))
    
#个人:
def ss():
    s=input('请输入字符串:\n')
    print('字符串长度为: %d'%len(s))
ss()

71.编写input()和output()函数输入,输出5个学生的数据记录

#编写input()和output()函数输入,输出5个学生的数据记录
N=3
student=[]
for i in range(5):#五个学生
    student.append(['','',[]])

def input_stu(stu):#输入 函数
    for i in range(N):
        stu[i][0]=input('输入学号:')
        stu[i][1]=input('输入姓名:')
        for j in range(3):
            stu[i][2].append(int(input('输入三科成绩:\n')))
def output_stu(stu):#输出 函数
    for i in range(N):
        print('%-6s%-10s'%(stu[i][0],stu[i][1]))
        #格式化输出 '%-6s:左对齐,占位符6位
        for j in range(3):
            print('%-8d'%stu[i][2][j])
            #%-8d 整数输出,整数的宽度是8位,若不足8位,右边补空格

#函数调用
input_stu(student)
print(student)
output_stu(student)

#总结:先初始化student空列表,再用for循环 循环五次 追加列表;
#定义输入函数(学号姓名和三科成绩)、输出函数(for循环输出+格式化输出)
#最后,调用函数,注意print()

72.创建链表

#题目:创建一个链表
ptr=[]
for i in range(2):
    num=int(input('输入一个数字:\n'))
    ptr.append(num)
print(ptr)

#方法二
l=[input('输入一个数字:\n') for i in range(2)]
print(l)

#总结:个人认为列表与链表表面上差不多,主要区别是在计算机内部的存储方式不同
#对于创建一个由用户输入的数字组成的列表:
#方法一:初始化空列表-for循环提示输入+append追加列表-输出
#方法二:直接用一条长语句,配合[]与()使用

73.反向输出列表

#题目:反向输出一个链表
ptr=[]
for i in range(3):
    num=int(input('输入数字:\n'))
    ptr.append(num)
print(ptr)#直接print(ptr.reverse())不行
ptr.reverse()
print(ptr)

#方法二
rl=[int(input('输入一个数字:\n')) for i in range(3)]
rl.reverse()
print(rl)

#总结:逆序输出,只需在输出前用一下.reverse()
#注意:直接print(ptr.reverse())似乎不行,需要分解步骤

74.列表排序及连接

'''题目:列表排序及连接。
程序分析:排序可使用 sort() 方法,连接可以使用 + 号或 extend() 方法。'''
a=[3,2,4]
b=[4,8,6]
a.sort()
print(a)#直接print(a.sort())不行

print(a+b)
a.extend(b)
print(a)

#个人总结:print括号内不能直接使用方法,但可以运算吧

75.小运算

#题目:放松一下,算一道简单的题目
for i in range(5):
    n=0
    if i!=1:n+=1
    if i==3:n+=1
    if i==4:n+=1
    if i!=4:n+=1
    if n==3:print(64+i)
#总结:1、区分==与=;2、if语句的冒号后面可以直接跟语句

#日期
import time
date=time.strftime('%m:%d',time.localtime())#month:day
print(date)
if date=='02-14':# ==
    print('情人节')
else:
    print('普通日子')
print('哈哈')

76.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数1/1+1/3+...+1/n

#题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,
# 当输入n为奇数时,调用函数1/1+1/3+...+1/n
def p_even(n):
    #i=0
    s=0.0
    for i in range(2,n+1,2):#步长为2
        s+=1.0/i## Python里,整数除整数只能得出整数,所以需要使用 浮点数 1.0
    return s

def p_odd(n):
    s=0.0
    for i in range(1,n+1,2):
        s+=1.0/i
    return s

if __name__=='__main__':
    n=int(input('输入一个数字:\n'))
    if n%2 ==0:
        sum=p_even(n)
    else:
        sum=p_odd(n)
    print(sum)

#总结:依次定义奇偶情况的函数(注意:for循环、求和s使用+=)

77.循环输出列表

#题目:循环输出列表
s = ["man", "woman", "girl", "boy", "sister"]
for i in range(len(s)):
    print(s[i])
#总结:for语句里的i、range括号里的元素 都是数字,
# 若直接print(i)输出的是i数字

78.找到年龄最大的人,并输出

#题目:找到年龄最大的人,并输出
import operator #operator 模块提供了一套与Python的内置运算符对应的高效率函数
person={'zxl':24,'zx':26,'ywp':23}
print(max(person.items(),key=operator.itemgetter(1))[0]) # 获取最大值的 key
#operator.itemgetter(item): 返回一个使用操作数的 __getitem__() 方法从操作数中获取 item 的可调用对象
print(max(person.values()))# 获取最大值

#原方法(先揪出一个,依次与它判断)
person={'zxl':24,'zx':26,'ywp':23}
m='ywp'
for key in person.keys():
    if person[m]<person[key]:
        m=key
print('%s\n%d'%(m,person[m]))

79.字符串排序

#题目:字符串排序
l=[]
for i in range(3):
    l.append(input('输入字符串:'))
l.sort()
print(l)
#总结3:初始化空列表——for循环提示输入——sort()排序后输出

80.分桃子=.=

'''题目:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子'''
i=0
j=1
x=0
while (i<5):
    x=4*j
    for i in range(0,5):
        if(x%4 != 0):
            break
        else:
            i+=1
        x=(x/4)*5+1
    j+=1
print(int(x))

81.809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。
 求??代表的两位数,及809*??后的结果。

#题目:809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,
# 8*??的结果为两位数,9*??的结果为3位数。
# 求??代表的两位数,及809*??后的结果。
a=809
for i in range(10,100):
    b=i*a#等式左边
    if b>=1000 and b<=10000 and 8*i<100 and 9*i>=100:#等式右边
        print(b,'=800*',i,'+9*',i)
#总结:令a=809,其他关系用数学式子表示出来




#我的分析如下: 假设这个两位数为x, 那它肯定是在range(10,100)中,可用for循环来遍历,
# 综合题目中给定的其他限定条件用if 语句和 and堆叠在一起便可求得这个数
for i in range(10,100):
    if (809*i >=1000)and(8*i<100) and (9*i>100) and (809*i==800*i+9*i):#注意==
        print('两位数是:{0},结果是:{1}'.format(i,809*i))

82.八进制转换为十进制

#题目:八进制转换为十进制
n=0
p=input('input a octal number:\n') #octal八进制
for i in range(len(p)):
    n=n*8+ord(p[i])-ord('0')
print(n)
#总结:关键在于需要知道两种进制之间的转换关系

83.求0—7所能组成的奇数个数

'''题目:求0—7所能组成的奇数个数。
程序分析:
组成1位数是4个。
组成2位数是7*4个。
组成3位数是7*8*4个。
组成4位数是7*8*8*4个……'''
sum=4
s=4#组成1位数是4个
for j in range(2,9):#j=2~8
    print(sum)
    if j<=2:
        s*=7
    else:
        s*=8
    sum+=s
print('sum=%d'%sum)

#总结:首先,看清题目,问的是个数;
#初始化——再根据循环条件判断

84.join()方法连接字符串

#题目:连接字符串
delimiter='+'#分隔符
mylist=['ywp','wtx','zxl']
print(delimiter.join(mylist))#ywp+wtx+zxl
#join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串

85.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数

#题目:输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。
#程序分析:999999 / 13 = 76923
b=input('input a number:\n')
a=9
n=1
while (1):#和while(true)是一个意思,就是循环测试一直为真
    if a%b==0:
        break
    else:
        a=a*10+9
        n=n+1
print('%d个9除以%d为整数'%(n,b))
#总结:提示输入奇数b-初始化a与n-
# while循环作判断,能整除则跳出循环;否则依次用99 999 再除

86.连接字符串

#题目:两个字符串连接
a='ypp'
b='yaa'
print(a+b)#yppyaa
print('+'.join([a,b]))#ypp+yaa
#注意:join()方法括号内应该是列表,
# [a,b]用方括号将其变为列表即可

87.结构体变量传递

#题目:回答结果(结构体变量传递)
class student:
    x=0
    c=0
def f(stu):
    stu.x=20
    stu.c='c'
    
a=student()
a.x=3
a.c='a'
f(a)
print(a.x,a.c)

88.读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*

#题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*
n=1
while n<=7:#while循环依次读取七个数
    a=int(input('input a num:\n'))
    while a<1 or a>50:#1—50
        a#原代码用了a=int(input('input a num:\n'))
    print(a*'*')
    n+=1

#总结:先初始化n=1;while循环依次读取七个数(提示输入);
#判断是否在1~50范围内,若是,则用此a*'*'

89.#某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
# 每位数字都加上5,然后用和除以10的余数代替该数字,
# 再将第一位和第四位交换,第二位和第三位交换。

#某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
# 每位数字都加上5,然后用和除以10的余数代替该数字,
# 再将第一位和第四位交换,第二位和第三位交换。
a=int(input('输入四位数:\n'))
aa=[]
aa.append(a%10)
aa.append(a%100/10)
aa.append(a%1000/100)
aa.append(a%1000)

for i in range(4):#四位数
    aa[i]+=5#每位数字都加上5
    aa[i]%10#用和除以10的余数代替该数字
for i in range(2):
    aa[i],aa[3-i]=aa[3-i],aa[i]#将第一位和第四位交换,第二位和第三位交换
for i in range(3,-1,-1):
    print(str(aa[i]))




'''
a[0],a[3]=a[3],a[0]#再将第一位和第四位交换
a[1],a[2]=a[2],a[1]#第二位和第三位交换'''

90.列表练习

#题目:列表使用实例
#新建列表
l=[1,'ap',[1,2,3]]
#列表长度
print(len(l))
#到列表结尾
print(l[1:])
#追加元素至列表
l.append('i\'m new here')#\'可以代表'
print(l)#[1, 'ap', [1, 2, 3], "i'm new here"]
#列表最后一个元素
print(l[-1])
#删除某个元素,并返回此被删元素
print(l.pop(0))
print(l)

#多维数组
matrix=[[1,2,3],[4,5,6],[7,8,9]]
print(matrix)#[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[1])#[4, 5, 6]
col2=[row[1] for row in matrix]#取每行的第一个元素,构成一列
print(col2)
col2even=[row[1] for row in matrix if row[1]%2 ==0]#判断每行的第一个元素,若偶则构成一列
print(col2even)

91.时间函数基本用法

#题目:时间函数举例1
import time #time.time()返回当前时间的时间戳
print(time.ctime(time.time()))
print(time.asctime(time.localtime(time.time())))
#time ctime() 函数把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式,作用相当于 asctime(localtime(secs))
print(time.asctime(time.gmtime(time.time())))#time.gmtime转换为UTC时区(0时区)的struct_time

92.时间函数计时(吧)

#题目:时间函数举例2
import time
start=time.time()
for i in range(3000):
    print(i)
end=time.time()

print(end-start)#个人:输出总用时

93.时间函数time.clock()

#题目:时间函数举例3
import time
start=time.clock()#以浮点数计算的秒数返回当前的CPU时间
for i in range(10000):
    print(i)
end=time.clock()
print('different is %6.3f'%(end-start))

94.时间函数举例4,一个猜数游戏,判断一个人反应快慢

#题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢
import time
import random
start=time.time()
while True:
    play=input('play the game(y/n)?')
    if play=='y':
        number=random.randint(0,10)#生成随机整数[0.10]
        guess=int(input('guess a number:'))
        while True:
            if number>guess:
                guess=int(input('guess a bigger number:'))
            elif number<guess:
                guess = int(input('guess a smaller number:'))
            else:
                end=time.time()
                print('bingo!')
                print('%0.2f秒猜中'%(end-start))
                break
    else:
        break

95.字符串日期转换为易读的日期格式

#字符串日期转换为易读的日期格式
from dateutil import parser
dt=parser.parse('8 10 2020 12:00PM')
print(dt)#2020-08-10 12:00:00

96.计算字符串中子串出现的次数

#题目:计算字符串中子串出现的次数
str1=input('输入字符串:\n')
str2=input('输入子串:\n')
ncount=str1.count(str2)
print(ncount)
print(str1.count(str2))#也可直接刚

97.从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个#为止

#题目:从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个#为止
from sys import stdout
filename=input('输入文件名:\n')
fp=open(filename,'w')

ch=input('输入字符串:\n')
while ch!='#':
    fp.write(ch)
    stdout.write(ch)
    ch=input('')
fp.close()

98.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存

#题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存
fp=open('test.txt','w')
string=input('please input a string:\n')
string=string.upper()
fp.write(string)

fp=open('test.txt','r')
print(fp.read())
fp.close()
#以写入的方式打开文件——输入要写的内容;转为大写——写入
#以读的方式打开文件——读
#关闭文件

99.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中

#题目:有两个磁盘文件A和B,各存放一行字母,
# 要求把这两个文件中的信息合并(按字母顺序排列),
# 输出到一个新文件C中
import string
fp=open('test1.txt')
a=fp.read()
fp.close()

fp=open('test2.txt')
b=fp.read()
fp.close()

fp=open('test3.txt','w')
l=list(a+b)
l.sort()
s=''
s=s.join(l)
fp.write(s)
fp.close()

#方法二:
with open('test1.txt') as f1, open('test2.txt') as f2, open('2.txt', 'w') as f3:
    for a in f1:
        b = f2.read()
    c = list(a + b)
    c.sort()
    d = ''
    d = d.join(c)
    f3.write(d)

100.列表转换为字典

#题目:列表转换为字典
i = ['a','b','c']
l = [1,2,3]
b=dict(zip(i,l))
print(b)
#{'a': 1, 'b': 2, 'c': 3}

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值