python判断输入的是空白_python – 检查无效输入

您可以使用一组允许的字符来检查该集是否是输入字符串的超集:

allowed = set("abcdefghijklmnopqrstuvwxyz! .")

while True:

message = input("Enter message: ")

if message and allowed.issuperset(message):

# do whatever

break

print("Invalid characters entered!")

它只允许允许的内容:

In [19]: message = "foobar!!$"

In [20]: message and allowed.issuperset(message)

Out[20]: False

In [21]: message = "foobar!! "

In [22]: message and allowed.issuperset(message)

Out[22]: True

In [23]: message = ""

In [24]: bool( message and allowed.issuperset(message))

Out[24]: False

你也可以使用all()…:

while True:

message = input("Enter message: ")

if message and all(ch in allowed for ch in message):

print("ok")

break

print("Invalid characters entered!)

如果你想输出坏字符:

while True:

message = input("Enter message: ")

if message and all(ch in allowed for ch in message):

print("ok")

break

print("The following invalid character(s) were entered! {}"

.format(" ".join(set(message)- allowed)))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的2048小游戏的Python代码示例: ```python import random # 初始化游戏棋盘 def init_board(): board = [[0 for i in range(4)] for j in range(4)] for i in range(2): x, y = random.randint(0, 3), random.randint(0, 3) while board[x][y] != 0: x, y = random.randint(0, 3), random.randint(0, 3) board[x][y] = 2 return board # 在空白格子中生成一个新的数字 def new_number(board): x, y = random.randint(0, 3), random.randint(0, 3) while board[x][y] != 0: x, y = random.randint(0, 3), random.randint(0, 3) board[x][y] = 2 # 判断游戏是否结束 def is_game_over(board): for i in range(4): for j in range(4): if board[i][j] == 0: return False for i in range(3): for j in range(3): if board[i][j] == board[i][j+1] or board[i][j] == board[i+1][j]: return False for i in range(3): if board[i][3] == board[i+1][3]: return False for j in range(3): if board[3][j] == board[3][j+1]: return False return True # 向上移动 def move_up(board): for j in range(4): for i in range(1, 4): if board[i][j] != 0: k = i while k > 0 and board[k-1][j] == 0: board[k-1][j] = board[k][j] board[k][j] = 0 k -= 1 if k > 0 and board[k-1][j] == board[k][j]: board[k-1][j] *= 2 board[k][j] = 0 # 向下移动 def move_down(board): for j in range(4): for i in range(2, -1, -1): if board[i][j] != 0: k = i while k < 3 and board[k+1][j] == 0: board[k+1][j] = board[k][j] board[k][j] = 0 k += 1 if k < 3 and board[k+1][j] == board[k][j]: board[k+1][j] *= 2 board[k][j] = 0 # 向左移动 def move_left(board): for i in range(4): for j in range(1, 4): if board[i][j] != 0: k = j while k > 0 and board[i][k-1] == 0: board[i][k-1] = board[i][k] board[i][k] = 0 k -= 1 if k > 0 and board[i][k-1] == board[i][k]: board[i][k-1] *= 2 board[i][k] = 0 # 向右移动 def move_right(board): for i in range(4): for j in range(2, -1, -1): if board[i][j] != 0: k = j while k < 3 and board[i][k+1] == 0: board[i][k+1] = board[i][k] board[i][k] = 0 k += 1 if k < 3 and board[i][k+1] == board[i][k]: board[i][k+1] *= 2 board[i][k] = 0 # 打印游戏棋盘 def print_board(board): for i in range(4): for j in range(4): print(board[i][j], end=' ') print() # 主函数 def main(): board = init_board() print_board(board) while not is_game_over(board): direction = input("请输入方向:") if direction == 'w': move_up(board) elif direction == 's': move_down(board) elif direction == 'a': move_left(board) elif direction == 'd': move_right(board) else: print("无效的方向,请重新输入!") continue new_number(board) print_board(board) print("游戏结束!") if __name__ == '__main__': main() ``` 这个示例中,我们使用二维数组来表示游戏棋盘,数字2表示棋盘上的方块,每次移动时,我们将相邻的相同数字合并成一个数字,并在空白格子中生成一个新的数字。每次移动后,我们都会检查游戏是否结束,如果结束就输出游戏结束的提示信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值