1.输入一个大于0的正整数n,如果n==1,则返回1, 如果n是偶数,则返回n/ 2,如果n是奇数,则返回3n +1,将所有的返回值存放到一个列表中,注意:n是第一个元素,其他的元素根据上述要求生成。最后求返回的列表和列表长度。
n=[]
x=int(input("请输入>0的正整数: "))
while True:
if x % 2 == 0:
a=x//2
n.append(a)
if x != 1:
print("当输入1时退出")
x=int(input("请输入>0的正整数: "))
else:
break
elif x % 2 == 1:
b=3*x+1
n.append(b)
if x != 1:
print("当输入1时退出")
x=int(input("请输入>0的正整数: "))
else:
break
elif x == 1:
print(n)
print(n)
print(len(n))
2.猜拳游戏:石头、剪刀、布的游戏
while True:
my = int(input("请输入1(石头),2(剪刀),3(布):"))
import random
computer=random.choice(['石头','剪子','布'])
print(computer)
if my==1 and computer=='剪子'or my==2 and computer=='布'or my==3 and computer=='石头':
print("赢了!")
choose=input("继续游戏 Y or y ,退出游戏其他:")
if choose=="Y" or "y":
computer=random.choice(['石头','剪子','布'])
else:
break
elif my==1 and computer=='布' or my==2 and computer=='石头' or my==3 and computer=='剪刀':
print("输了")
else:
print("平局")
3.求50~150之间的质数是那些?存储在列表中
a=[]
for x in range (50,151):
if x % 2 == 0:
a.append(x)
print(a)
4.打印输出标准水仙花数,输出这些水仙花数
注:水仙花数是指一个三位数,其各个位上的数字的三次幂之和等于它本身。
for y in range (100,1000):
g = y % 10
s = y // 10 % 10
b = y // 100
a = g**3 + s**3 + b**3
if y == a:
print(y)
5.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
while True:
y=int(input(">9整数:"))
g = y % 10
s = y // 10 % 10
b = y // 100
q = y // 1000
if (y-g)%9==0 or (y-g-s)%9==0 or (y-g-s-b)%9==0 or (y-g-s-b-q)%9==0:
print("true")
else:
print("false")
6.一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.
for i in range (10000,100000):
A = i * 10 + 7
B = i + 700000
if A*5==B:
print (i)
7.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10,8,5,3,27,99]
x = [10,8,5,3,27,99]
for i in x:
if i % 2 == 0:
na = i // 2
print(na)
elif i % 2 == 1:
na = i // 2 + 1
print(na)
8.如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
for a in range (1,100):
for b in range (1,100):
if a-b==2:
print(a,"and",b,end=",")
9.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
x=[223,134,245,156,267,178,289,190]
max=x[0]
min=x[0]
S=0
long=len(x)
for i in x:
if i>max:
max=i
if i<min:
min=i
S+=i
v=S/long
print("max=",max)
print("min=",min)
print("平均值",v)
print("求和",S)
10.将list中的重复数据去重,至少使用两种方案
#way1
x=[12,23,34,23,45,22,44,34]
print(set(x))
#way2
y=[]
for i in x:
if i not in y:
y.append(i)
print(y)
11.如何将0-10随机存入列表中
y=[]
for x in range (0,11):
y.append(x)
print(y)