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]))