夜空中的守望者的目光

拜拜、爱过 提交于 2020-02-07 11:38:31

我的博客

import random

class Card:
    ranks=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
    suits=['梅花','方片','红桃','黑桃']
    def __init__(self,rank,suit,face_up=True):
        self.rank=rank
        self.suit=suit
        self.is_face_up=face_up
    def __str__(self): 
        if self.is_face_up:
            rep=self.suit+self.rank
        else:
            rep='没有这样的牌'
        return rep
    def pic_order(self):
        if self.rank=='A':
            FaceNum=1
        elif self.rank=='J':
            FaceNum=11
        elif self.rank=='Q':
            FaceNum=12
        elif self.rank=='K':
            FaceNum=13
        else :
            FaceNum=int(self.rank)
        if self.suit=='梅花':
            Suit=1
        elif self.suit=='方片':
            Suit=2
        elif self.suit=='红桃':
            Suit=3
        else:
            Suit=4
        return(Suit-1)*13+FaceNum
    def flip(self):
        self.is_face_up = not self.is_face_up
        
class Hand():
    def __init__(self):
        self.cards=[]
    def __str__(self):
        if self.cards:
            rep=''
            for card in self.cards:
                rep+=str(card)+'\t'
        else :
            rep='无牌'
        return rep
    def clear(self):
        self.cards=[]
    def add(self,card):
        self.cards.append(card)
    def give(self,card,other_hand):
        self.cards.remove(card)
        other_hand.add(card)
        
class Poke(Hand):
    def populate(self):
        for suit in Card.suits:
            for rank in Card.ranks:
                self.add(Card(rank,suit))
    def  gen_pocker(self):                 
        random.shuffle(self.cards)
    def deal(self,hands,per_hand=13):
        for rounds in range(per_hand):
            for hand in hands:
                if self.cards:
                    top_card=self.cards[0]
                    self.give(top_card,hand)
                else:
                    print('牌已经发完了!')
     


    
if __name__=="__main__":
    players=[Hand(),Hand(),Hand(),Hand()]
    poke1=Poke()
    poke1.populate()          
    poke1.gen_pocker()
    poke1.deal(players,13)
    n=1
    for hand in players:
        print('牌手',n,end=':')
        print(hand)
        n=n+1


def getCircleArea(r):
    return math.pi*r*r
def get_rList(n):
    list1=[]
    for i in range(0,n):
        m=int(input())
        list1.append(m)
    return list1


import math
def readPoint():
    a=input().split(',')
    for i in range(len(a)):
        if a[i]:
            a[i]=int(a[i])
        else:
            a[i] = 0
    return tuple(a)
def distance(point):
    sum=0
    for i in range(3):
        sum+=point[i]**2
    return math.sqrt(sum)
def ClassifyPoints(points, r):
    a,b=[],[]
    for i in range(len(points)):
        if distance(points[i])<r:
            a.append(points[i])
        else:
            b.append(points[i])
            z=(a,b)
    return z
def avgDistance(pointList):
    sum=0
    for i in range(len(pointList)):
        sum+=distance(pointList[i])
    return sum/len(pointList)
def printPointsTuple(psTuple, r):
    print("distance < {}, avgDistance = {:.3f}, points = {}".format(r,avgDistance(psTuple[0]),psTuple[0]))
    print("distance >= {}, avgDistance = {:.3f}, points = {}".format(r,avgDistance(psTuple[1]),psTuple[1]))

def printYanghui(n):
    numbers = []
    for line in range(n + 1):
        numbers += [[]]
        for i in range(n + 1):
            numbers[line] += [0]
    numbers[1][1] = 1
    for line in range(2, n + 1):
        for i in range(1, n + 1):
            numbers[line][i] = numbers[line - 1][i] + numbers[line - 1][i - 1]
    for line in range(1, n + 1):
        for space in range(n - line):
            print(" ", end='')
        for i in range(1, line + 1 ):
            print(numbers[line][i], end=" ")
        print()

def factorial(n):
    if n==0:
        return 1
    sum=n*factorial(n-1)
    return sum
def funcos(eps,x):
    s=0
    i=0
    while x**i/factorial(i)>eps or x**i/factorial(i)==eps:
        i=i+2
        for j in range(0,i,2):
            if j%4==0:
                s=s+x**j/factorial(j)
            else:
                s=s-x**j/factorial(j)
    return s

def largest_factor(n):
    factor = n - 1
    while factor > 0:
        if n % factor == 0:
            return factor
        factor -= 1

def print_n(l):
    for i in range(len(l)+1):
        if i > 0:
            l.pop(0)
            print(l)

def twosplit(sourceDate,findData):
    if findData == sourceDate[0]:
        print('find data: {}'.format(sourceDate[0]))
    else:
        if findData in sourceDate[:int(len(sourceDate)/2)]:
            print('Data in left {} '.format(sourceDate[:int(len(sourceDate)/2)]))
            twosplit(sourceDate[:int(len(sourceDate)/2)],findData)
        elif findData in sourceDate[int(len(sourceDate)/2):]:
            print('Data in right {} '.format(sourceDate[int(len(sourceDate)/2):]))
            twosplit(sourceDate[int(len(sourceDate)/2):],findData)
        else:
            print("can't find data {}".format(findData))

1.
s = input()
list = s.split()
for i in range(-1, -len(list)-1, -1):
    print(list[i],end="")
print()
print(list)
for i in range(-1, -len(list)-1, -1):
    print(list[i],end="")
    if i == -len(list):
        pass
    else:
        print("",end=" ")


2.
ls=eval(input())
def s(ls,level):
    sum=0
    for i in ls:
        if type(i) == int:
            if level % 2 == 1:
                sum+=i*level
            elif level %  2 == 0:
                sum-=i*level
        else:
            sum+=s(i,level+1)
    return sum
sum=s(ls,1)
print(sum)


3.
ls=eval(input())
def s(ls,level):
    sum=0
    for i in ls:
        if type(i) == int:
            sum+=level
        else:
            sum+=s(i,level+1)
    return sum
sum=s(ls,1)
print(sum)

4.
ls=eval(input())
n = int(input())
def s(ls,level):
    sum=0
    for i in ls:
        if type(i) == int:
            if level==n:
                sum+=1
        else:
            sum+=s(i,level+1)
    return sum
sum=s(ls,1)
print(sum)


5.
n = int(input())
ls = []
for i in range(n):
    s = input()
    ls.append(s)
ls.sort(key=lambda x:len(x),reverse=False)
for e in ls:
    print("({}, '{}')".format(len(e),e))


6.
import random
import string
a=int(input())
random.seed(a)
n=int(input())
m=int(input())
s=list(string.ascii_letters+string.digits)
for i in range(n):
    for j in range(m):
        print(random.choice(s),end="")
    print()


7,n = int(input())
true = false = 0
for i in range(n):
    a = input()
    a = list(a.split())
    if len(list(a)) == len(set(a)):
        false +=1
    else:
        true +=1
print('True=%d, False=%d'%(true,false))


8.
import random

x, n = map(int, input().split())
random.seed(x)
f = 0
for i in range(n):
    s = set()
    for j in range(23):
        c = random.randint(1, 365)
        s.add(c)
    if len(s) < 23:
        f += 1

print("rate={:.2f}".format(f / n))


9.
n=int(input())
for i in range(n):
    s=[]
    s1=[]
    s=input().split()
    c=input()
    for j in s:
        if j!=c:
            s1.append(j)
    print(' '.join(s1))

11.
list = ['a','e','i','o','u']
str = input()
cout = 0
for i in str:
    if i in list:
        cout+=1
print(cout)


12.
a,b = map(int,input().split())
a = str(abs(a))
b = str(abs(b))
sum = 0
if len(a)>len(b):
    for i in range(0,len(b)):
        sum = sum + int(a[i+len(a)-len(b)])*int(b[i])
if len(a)<len(b):
    for i in range(0,len(a)):
        sum = sum + int(b[i+len(b)-len(a)])*int(a[i])
if len(a)==len(b):
    for i in range(0,len(a)):
        sum = sum + int(a[i])*int(b[i])
print(sum)


13.
s=int(input())
l=s**2
a=[int(x) for x in input().split()]
b=[int(x) for x in input().split()]
c=[]
k=0
for i in range(l):
    c.append(a[i]+b[i])
for i in range(s):
    for j in range(s):
        print("{:2d}".format(c[k]),end=" ")
        k+=1
    print("")



14.
ls=eval(input())
def s(ls,level):
    sum=0
    for i in ls:
        if type(i) == int:
            sum+=10-level+1
        else:
            sum+=s(i,level+1)
    return sum
sum=s(ls,1)
print(sum)


15.
a=list(set(input().strip().split(',')))
a=[int(x) for x in a]
b=[x for x in range(1,11)]
for x in a:
    b.remove(x)
for x in b:
    if x<=5:
        b.remove(x)
b=[str(x) for x in b]
b=' '.join(b)
print(b)


16.
a,b = map(int,input().split())
ans = 0
for i in range(a,b+1):
    if i % 7 == 0 and i % 5 == 0 and i % 3 == 0:
       ans += 1
print(ans)


17.
n=int(input())
a=[]
count =0
count1=0
cnt=0
for i in range(n):
    s=input()
    a.append([int(n) for n in s.split()])
for j in range(n):
    if count1 == n and count == n:
        break
    for k in range(n):
        for k1 in range(n):
            if a[j][k]>=a[j][k1]:
                count+=1
        if count == n:
            for j1 in range(n):
                if a[j][k]<=a[j1][k]:
                    count1+=1
            if count1==n:
                cnt=cnt+1
        count1=0
        count=0
print(cnt)


19.
text = input("")
result = []
for t in text:
    result.append(ord(t))

print(result)

21.
def binarySearch(x, arr, low, high):
    while low <= high:
        mid = (low+high)>>1
        if x == arr[mid]:
            break
        elif x < arr[mid]:
            high = mid -1
        else:
            low = mid + 1
    else:
        return -1
    return mid

a = [19,23,46,49,65,78,98,101,125]
b = int(input())
index = binarySearch(b,a,0,len(a))
if index != -1:
    print(b,end=" ")
    print(index)
else:
    print("not find")

23.
m = int(input())
for i in range(1,m+1):
    for j in range(i):
        print("*",end="")
    print()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!