def find_prime_number(n, m):
if isinstance(n, int) and isinstance(m, int):
if m <= 1:
return "error range"
if 1 >= n > m:
return "error start"
numbers = list()
num = n
while num <= m:
i = 2
while i < num:
if (num % i == 0) and (num != i):
break
else:
i += 1
if num == i:
numbers.append(num)
num += 1
return numbers
else:
return "error input"
print(find_prime_number(1, 100))
猜数字游戏
# Import the random package
import random
def askPlayer():
"""
Ask player to enter a number
Output:
* playerNumber: the number entered by the player, or None if the player wants to stop the game
"""
while True:
# Player input
word = input("What is the magic number? ")
# Quit if the player types "quit"
if word == "quit":
return None
# Int casting with exception handling
try:
playerNumber = int(word)
break
except ValueError:
print("Please type a number without decimals!")
continue
return playerNumber
def runGame():
# Generate a random Magic number
magicNumber = random.randint(1,10)
# An integer to count the guesses
guessCount = 0
while True:
playerNumber = askPlayer()
if playerNumber is None:
break
# Increase the number of guesses
guessCount += 1
# Cases
if playerNumber == magicNumber:
print("This is correct! You win!")
print("You guessed the magic number in {} guesses.".format(guessCount))
break
elif magicNumber < playerNumber:
print("The magic number is lower")
elif magicNumber > playerNumber:
print("The magic number is higher")
# Wrong number, continue
print("This is not the magic number. Try again!")
runGame()
一摞Python风格的卡牌
import collections
from random import choice
Card = collections.namedtuple('Card', ['rank', 'suit'])
class FrenchDeck:
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
suits = 'spades diamonds clubs hearts'.split()
def __init__(self):
self._cards = [Card(rank, suit) for suit in self.suits
for rank in self.ranks]
def __len__(self):
return len(self._cards)
def __getitem__(self, position):
return self._cards[position]
def rChoice(self):
return choice(self)