python入门100例(后50例)

51.学习使用按位与 & 。

a = 2
b = 2
c = 1
sum1 = a&b
sum2 = a&c
print(sum1)
print(sum2)

52.学习使用按位或 |

a = 2
b = 2
c = 1
sum1 = a|b
sum2 = a|c
print(sum1)
print(sum2) 

53.学习使用按位异或 ^

a = 2
b = 2
c = 1
sum1 =a^b
sum2 =a^c
print(sum1)
print(sum2)

54.学习使用左移右移<<>>
55.学习使用~取反运算符
56.画图,学用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, 25):
    canvas.create_oval(300 - k, 250 - k, 300 + k, 250 + k, width=1)
    k += j
    j += 0.5

mainloop()

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

from tkinter import *

canvas = Canvas(width=300, height=300, bg='green')
canvas.pack(expand=YES, fill=BOTH)
x0 = 250
y0 = 250
y1 = 280
for i in range(19):
    canvas.create_line(x0, y0, x0, y1, width=1, fill='red')
    x0 = x0 - 5
    y0 = y0 - 5
    y1 = y1 + 5

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

mainloop()

60.计算字符串长度。

str = "aabbaa"
print(len(str))

61.打印出杨辉三角形 要求打印出10行

from sys import stdout
a = []
for i in range(10):
    a.append([])
    for j in range(i+1):
        a[i].append(0)
for i in range(10):
    a[i][0]=1
    a[i][i]=1
for i in range(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):
        stdout.write(str(a[i][j]))
    print("\n")

62.查找字符串。

char = 'aab'
str1 ="aaaabb"
print(str1.find(char))

66.输入3个数a,b,c,按大小顺序输出。

a = int(input("请输入A的值:"))
b = int(input("请输入B的值:"))
c = int(input("请输入C的值:"))
if a>b:
    if b>c:
        print(a,b,c)
    else:
        if a>c:
            print(a,c,b)
        else:
            print(c,a,b)
else:
    if c>b:
        print(c,b,a)
    else:
        if a>c:
            print(b,a,c)
        else:
            print(b,c,a)

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

a = [2,13,5,6,11,27]
max1 = max(a)
min1 = min(a)
x= a.index(max1)
y= a.index(min1)
b = []
for i in range(len(a)):
    if i == 0:
        var=a[x]
    elif i==x:
        var=a[0]
    elif i==y:
        var=a[len(a)-1]
    elif i == len(a)-1:
        var=a[y]
    else:
        var=a[i]
    b.append(var)
print(b)

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

m=int(input("请输入需要后移的位数"))
a = [5,6,2,3,4,8,9]
b=[0,0,0,0,0,0,0]
for i in range(len(a)):
    if i<m:
        b[i]=a[len(a)-m+i]
    else:
        b[i]=a[i-m]
print(b)

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

n = int(input("请输入n的值:"))
l=[]
for i in range(n):
   l.append(i+1)
k=0
i=0
m=0
while m < n - 1:
    if l[i] != 0 :
        k += 1
    if k == 3:
        l[i] = 0
        k = 0
        m += 1
    i += 1
    if i == n :
        i = 0
i=0
while l[i]==0:
    i+=1
print(l[i])

70.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

def get_len(str):
    len=0
    for i in str:
        len+=1
    return len
str1 = input("请输入字符串:")
l = get_len(str1)
print(l)

71.编写函数输入输出 N个学生的数据记录。

def input_stu(stu):
    for i in range(2):
        stu[i][0]=(input("请输入学生姓名:"))
        stu[i][1]=(int(input("请输入学生id:")))
        for j in range(3):
            stu[i][2].append(input("请输入该学生成绩:"))
def output_stu(stu):
    for i in range(2):
        print("姓名:",stu[i][0],"id",stu[i][1])
        for j in range(3):
            print("该学生成绩:",stu[i][2][j])
stu = []
for i in range(2):
    stu.append(['','',[]])                #每次循环 列表子项 增加两个空值,一个列表
input_stu(stu)                           #调用输入函数为列表赋值
output_stu(stu)                          #输出学生信息

72.创建一个链表。

s =[ ]
for i in range(4):
    s.append(int(input("请添加数值:")))
print(s)

73.反向输出一个链表。

s = []
for i in range(5):
    s.append(int(input("请输入值:")))
i = len(s) - 1
while (i>=0):
    print(s[i])
    i -=1
    

74.列表排序及连接。

l1 = [1,5,3,2,4]
l2 = [6,7,8,9,10]
l1.sort()                                     #调用链表的排序算法
print(l1)
print(l1+l2)                               #链表连接的两种方法
l1.extend(l2)
print(l1)

75.逻辑题

for i in range(5):
    n=0
    if i!=2:
        n+=1
    if i==3:
        n+=1
    if i==4:
        n+=1
    if i!=4:
        n+=1
    if n == 3:
        print(i)

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

def ousum(i):
    sum=0
    for var in range(2,i+1,2):
        sum = sum+(1/var)
    return sum                                                   #偶数项分之一求和函数

def jisum(i):
    sum =0
    for var in range(1,i+1,2):
        sum = sum+(1/var)
    return sum                                                   #奇数项分之一求和函数

def func(n):
    if n%2 == 0:
        return ousum(n)
    else:
        return jisum(n)                                      #判断奇偶分别调用两个函数
n = int(input("请输入数字:"))
t = func(n)
print(t)

77.循环输出列表

l = [1,3,5,7,9]
for i in range(len(l)):
    print(l[i])

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

per = {"wang":10,"li":15,"ha":6}
max = "wang"
for key in per.keys():
    if per[max]<per[key]:
        max=key
print(per[max])

79.字符串排序

str1 = input("input string:")
str2 = input("input string:")
str3 = input("input string:")
if str1>str2:
    str1,str2 = str2,str1
if str1>str3:
    str1,str3 = str3,str1
if str2>str3:
    str2,str3 = str3,str2
print(str1,str2,str3)

80.海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

i = 0
j = 1
x = 0
while (i < 5) :                   #控制循环次数
    x = 4 * j                       #x为起始最后一次的变量
    for i in range(0,5) :
        if(x%4 != 0) :                 #若有一次不满足条件则跳出,改变起始变量
            break
        else :
            i += 1
        x = (x/4) * 5 +1              #迭代公式
    j += 1
print (x)

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

x=0
for i in range(10,100):
    if 809*i>=1000 and 809*i<10000 and 8*i>=10 and 8*i<100 and 9*i>=100 and 9*i<1000:
        x=i
print("??代表的数是:",x)
t = 809*x
print("809*??后的结果是:",t)

82.八进制转换为十进制

n= input("请输入八进制数字:")
for i in range(3):
    var=n//(10**(2-i))
    n=n%(10**(2-i))
    sum=sum+var*8**(2-i)
print(sum)

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

sum=4
var=4
for i in range(2,9):
    print(sum)
    if i<=2:
        var=var*7
    else:
        var=var*8
    sum=sum+var

84.连接字符串。

char =","
l = ["a","b","c","d"]
str=char.join(l)
print(str)

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

n =int(input("请输入一个奇数:"))
i=1
div =9
while i:
    if div%n==0:
        break
    else:
        i+=1
        div=div*10+9
print(i)

86.两个字符串连接

a ="aaa"
b ="bbb"
c=a+b
print(c)

87.结构体变量传递

class person:
    age=0
    height=170
def f(p):
    p.age=10
    p.height=175
per = person()
per.age=20
per.height=180
f(per)
print(per.age,per.height)

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

from sys import stdout
for i in range(7):
    x=int(input("请输入数字:"))
    for j in range(x):
        stdout.write("*")

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

n = int(input("请输入需要加密的4位数:"))
a=n//1000
b=n//100%10
c=n%100//10
d=n%10
a=(a+5)%10
b=(b+5)%10
c=(c+5)%10
d=(d+5)%10
result = d*1000+a+c*100+b*10
print(result)

90.列表使用实例。

#新建列表
lll = ["wang",23,[5,2,1]]

#访问列表长度
print( len(lll) )
#列表结尾
print( lll[1:] )
#向列表添加元素
lll.append("hhh")
print(lll)
#弹出列表的最后一个元素
print(lll.pop())
print(lll)

martix =[[1,2,3],[4,5,6]]
print(martix)
print(martix[1])
#取第一列元素
col =[row[1] for row in martix]
print(col)
#取第一列元素为偶数的元素
colou =[row[1] for row in martix if row[1]%2==0]
print(colou)

91.时间函数举例1。

import time
print(time.ctime(time.time()))
print(time.asctime(time.localtime(time.time())))
print(time.asctime(time.gmtime(time.time)))

92.时间函数举例2。

import time
start =time.time()
for i in range(3000):
    print(i)
end=time.time()
print(end-start)

93.时间函数举例3。

import time
start = time.clock()
for i in range(3000):
    print(i)
end = time.clock()
print(end-start)

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

import random
import time
choice = input("do you want to play it?/'y/' or /'n/'")
if choice == "y":
    i=random.choice(range(20))
    start =time.time()
    n =int(input("please enter your number:"))
    while(i!=n):
        if(n>i):
            print("输入数字过大")
            n=int(input("请重新输入"))
        if(n<i):
            print("输入数字过小")
            n=int(input("请重新输入"))
    print("输入正确")
    end =time.time()
    print("用时:",end-start)
else:
    print("未选择游戏")

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

char ="add"
str="wang add add hh add"
count =str.count(char)
print(count)

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

from sys import stdout
filename =input("请输入文件名:")
f = open(filename,"w")
n = input("请输入字符:")
while n!= '#':
    f.write(n)
    stdout.write(n)
    n=input("请输入字符")
f.close()

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

f = open("tttt.txt","w")
str=input("请输入一个字符串:")
str=str.upper()
f.write(str)
f  =open("tttt.txt","r")
print(f.read())
f.close()

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

f = open("text1.txt","r")
a = f.read()
f.close()

f = open("text2.txt","r")
b = f.read()
f.close()

f = open("text3.txt","w")
s=list(a+b)
s.sort()
f.write(str(s))
f.close()

100.列表转换为字典。

i=["a","b"]
l=[1,2]
print (dict([i,l]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值