我正在尝试创建一个程序,从左到右读取所有n对的乘积
例如,在数字2345678中:
我已经完成了问题的大部分解决方案,但我无法创建一个可以适应任何n值的操作
num = 2345678
num = str(num)
n = 2
start_pos = 0
for i in range(start_pos,len(num)):
try:
x += 1
t = int(num[i]) * int(num[i+1]) # hardcoded for n = 2
print(t)
start_pos += 1
except IndexError:
break
Run Code Online (Sandbox Code Playgroud)
n = 2: t = int(num[i]) * int(num[i+1])
n = 3: t = int(num[i]) * int(num[i+1]) * int(num[i+2]) …
我看过有关此主题的其他帖子,但它们并不是很有结论,它们仅提供了使用其他模块来执行此操作的建议。
我正在尝试将我的maincharacter.png(http://pluspng.com/img-png/png-character--600.png)图像插入到我的top_left框架中。
代码(运行它):
from tkinter import *
from PIL import ImageTk, Image
class GameScreen:
def __init__(self, master):
# create all of the main containers
top_left = Frame(master, bg='black', width=200, height=200)
top_middle = Frame(master, bg='green', width=200, height=200)
top_right = Frame(master, bg="green", width=200, height=200)
middle_left = Frame(master, bg='green', width=200, height=200)
middle = Frame(master, bg='green', width=200, height=200)
middle_right = Frame(master, bg='green', width=200, height=200)
bottom_left = Frame(master, bg='green',width=200, height=200 )
bottom_middle = Frame(master, bg='green', width=200, height=200 )
bottom_right …Run Code Online (Sandbox Code Playgroud) sentence = ["This","is","a","short","sentence"]
# Desired Output
T h i s
i s
a
s h o r t
s e n t e n c e
>>>
Run Code Online (Sandbox Code Playgroud)
sentence = [row.replace(""," ") for row in sentence]
for item in sentence:
print(item)
Run Code Online (Sandbox Code Playgroud)
这个问题是它在每行的开头和结尾打印一个空格,但我只想在每个字母之间留一个空格
symbol_list = ["....firstline.\\.||hi",
"pythonisasnake..\....",
"||||last.\\|line\\..."]
normal_list = ["ABCDfirstlineEFGHIJhi",
"pythonisasnakeKLMNOPQ",
"RSTUlastVWXYlineZABCD"]
Run Code Online (Sandbox Code Playgroud)
在symbol_list,我想用相应位置的字母替换符号,normal_list我想用列表替换列表中的非符号*
. \ | new_list = ["ABCD*********EFGHIJ**",
"**************KLMNOPQ",
"RSTU****VWXY****ZABCD"]
Run Code Online (Sandbox Code Playgroud)
这样做的解决方案是什么?
对于这两个列表,我不知何故需要访问每行中的每个项目,这看起来真的很复杂.我尝试用for循环开始这个:
for symbol_row in symbol_list:
for symbol_item in symbol_row:
for normal_row in normal_list:
for normal_item in normal_row:
Run Code Online (Sandbox Code Playgroud)
这令人困惑,似乎建议最多做两次
然后我试图检查其中一个条件:
if symbol_item in (".","\\","|"): # because \ is an escape character
symbol_row = symbol_row.replace(symbol_item, normal_item)
Run Code Online (Sandbox Code Playgroud)
然后我添加了这个新行,new_list但我的列表最终比我打印出来之前的时间长了10倍
new_list.append(symbol_row)
Run Code Online (Sandbox Code Playgroud) 我一直在尝试在 PIL 模块中创建一个棋盘,并且我已经获得了前两行的一般模式,但无法弄清楚如何将其应用于整个棋盘。如您所见,我创建了一个图像:
from PIL import Image
img = Image.new("RGB", (15,15), "white") # create a new 15x15 image
pixels = img.load() # create the pixel map
Run Code Online (Sandbox Code Playgroud)
注意 - 我仍在学习 Python,所以这段代码可能看起来效率很低,但请随时提出改进建议。
代码:
black_2 = []
for i in range(img.size[0]):
if i % 2 == 0:
black_2.append(i)
Run Code Online (Sandbox Code Playgroud)
这为我提供了放置黑色像素的所有水平索引位置。因此,对于我创建的 15x15 板,它返回[0, 2, 4, 6, 8, 10, 12, 14]
代码:
然后我使用第二行来计算第一行的水平索引位置
black_1 = [i-1 for i in black_2 if i > 0]
if img.size[0] % 2 == 0: # …Run Code Online (Sandbox Code Playgroud) 我试图使用该socket模块了解 python 上的网络,但我认为问题是我并不真正了解服务器或客户端的实际功能。
我正在尝试做的事情:
服务器程序
import socket
import json
HOST = '192.168.X.X'
PORT = 50034
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
with conn:
while True:
data = conn.recv(1024)
new_data = data.decode()
new_data = json.loads(data)
print(new_data["Name"],"has connected from",addr)
message = ("Hello %s welcome to the chat server" % new_data["Name"]).encode()
s.sendall(message)
if not data:
conn.sendall(data)
Run Code Online (Sandbox Code Playgroud)
客户端程序
import socket
import json
HOST = '192.168.X.X'
PORT = 50034
my_dict = {"Name":"Bob"}
jsn …Run Code Online (Sandbox Code Playgroud) 我熟悉在Python中使用'和','not'和'或'运算符,我刚学会了'XOR'运算符的工作原理.
但是,当我编码时,它似乎不起作用:
a = 2
b = 12
if a == 2 ^ b == 12:
print("You must be broken") # because TRUE XOR TRUE IS FALSE
if a == 10 ^ b > 12:
print("You must also be broken") # because FALSE XOR FALSE IS FALSE
if a < 10 ^ b > 13:
print("This should print because TRUE XOR FALSE IS TRUE")
if a > 3 ^ b == 12:
print("This should print because FALSE XOR TRUE IS …Run Code Online (Sandbox Code Playgroud)