用另一个字符替换字符串的随机字符
Replacing a random character of string with another character
对于上下文:我正在制作一个简单的 python 游戏,您可以在其中四处走动并收集浆果。
如果你想测试它,我的整个代码看起来像这样。
import keyboard
import time
import emoji
import random
def assignstring():
print("~~~~~~~~~~~~~~~~")
s = ""
bers1 = random.randint(0, 22)
bers2 = random.randint(0, 10)
print(bers1, bers2)
for a in range(9):
for i in range(21):
if i == posx and a == posy:
s = s + emoji.emojize(":bear:")
elif a == bers1 and i == bers2:
s = s + "!"
else:
s = s + emoji.emojize(":prohibited:")
print(s)
s = ""
print("~~~~~~~~~~~~~~~~")
def poschange(posx, posy):
if keyboard.is_pressed("left"):
posx = posx - 1
time.sleep(0.1)
if keyboard.is_pressed("right"):
posx = posx + 1
time.sleep(0.1)
if keyboard.is_pressed("down"):
posy = posy + 1
time.sleep(0.1)
if keyboard.is_pressed("up"):
posy = posy - 1
time.sleep(0.1)
if posx > 20:
posx = 20
if posx < 0:
posx = 0
if posy < 0:
posy = 0
if posy > 8:
posy = 8
return posx, posy
string = ""
posx = 10
posy = 4
c = 11
savex = 0
savy = 0
assignstring()
while True:
savex = posx
savey = posy
posx = (poschange(posx, posy))[0]
posy = (poschange(posx, posy))[1]
if savex != posx:
assignstring()
print(posx, posy)
if savey != posy:
assignstring()
print(posx, posy)
我想制作一个功能,用浆果表情符号替换其中一个被禁止的表情符号。
这是我写的一些伪代码:
def berryspawn():
berrycord1 = random.randint(0, 10)
berrycord1 = random.randint(0, 22)
#saves the coordinates and replaces the emoji at that location with a berry emoji.
我想让它保存坐标,以便它可以跟踪玩家是否正在触摸浆果。
最简单的方法是什么?
问候迈克
我想我可以帮你改变字符串部分的随机字符,我想。
这是我会做的,一步步完成(尝试和测试):
import random # need to use randints
mystring = "foo" # this'd be your string
# Now to get the string length so we can get a random char from it. First to
# turn it to a list, as individual characters in strings can't be changed.
mystring_list = list(mystring)
mystring_list[random.randint(0, (len(mystring_list) - 1))] = # add your new
# character value here
# Finally you need to change the list back to its string form. We'll also
# remove all []s and 's plus spaces and commas so it's back to complete string
# format.
mystring = str(mystring_list).replace('[', "").replace(']', "").replace("'",
"").replace(",", "").replace(" ", "")
我想这样就可以了。流程细分:
- mystring 被转换为它所有字符的列表,mystring_list
- 在 Random 模块的帮助下,我们在 mystring_list
中获得了一个随机项目
- 然后那个项目被改变了。
- mystring 然后被设置为 mystring_list 的字符串,删除了 brackets/commas/spaces/apostrophes/quotes。所以基本上是一个字符串。
唯一的错误是,如果原始字符串中有空格,那么它们将在末尾被删除(第 4 步)。如果您不介意原始字符串中每个字符后的奇数空格,那么您可以删除 .replace(" ", "")
,原始空格将被保留。
希望对您有所帮助!
对于上下文:我正在制作一个简单的 python 游戏,您可以在其中四处走动并收集浆果。 如果你想测试它,我的整个代码看起来像这样。
import keyboard
import time
import emoji
import random
def assignstring():
print("~~~~~~~~~~~~~~~~")
s = ""
bers1 = random.randint(0, 22)
bers2 = random.randint(0, 10)
print(bers1, bers2)
for a in range(9):
for i in range(21):
if i == posx and a == posy:
s = s + emoji.emojize(":bear:")
elif a == bers1 and i == bers2:
s = s + "!"
else:
s = s + emoji.emojize(":prohibited:")
print(s)
s = ""
print("~~~~~~~~~~~~~~~~")
def poschange(posx, posy):
if keyboard.is_pressed("left"):
posx = posx - 1
time.sleep(0.1)
if keyboard.is_pressed("right"):
posx = posx + 1
time.sleep(0.1)
if keyboard.is_pressed("down"):
posy = posy + 1
time.sleep(0.1)
if keyboard.is_pressed("up"):
posy = posy - 1
time.sleep(0.1)
if posx > 20:
posx = 20
if posx < 0:
posx = 0
if posy < 0:
posy = 0
if posy > 8:
posy = 8
return posx, posy
string = ""
posx = 10
posy = 4
c = 11
savex = 0
savy = 0
assignstring()
while True:
savex = posx
savey = posy
posx = (poschange(posx, posy))[0]
posy = (poschange(posx, posy))[1]
if savex != posx:
assignstring()
print(posx, posy)
if savey != posy:
assignstring()
print(posx, posy)
我想制作一个功能,用浆果表情符号替换其中一个被禁止的表情符号。 这是我写的一些伪代码:
def berryspawn():
berrycord1 = random.randint(0, 10)
berrycord1 = random.randint(0, 22)
#saves the coordinates and replaces the emoji at that location with a berry emoji.
我想让它保存坐标,以便它可以跟踪玩家是否正在触摸浆果。 最简单的方法是什么?
问候迈克
我想我可以帮你改变字符串部分的随机字符,我想。
这是我会做的,一步步完成(尝试和测试):
import random # need to use randints
mystring = "foo" # this'd be your string
# Now to get the string length so we can get a random char from it. First to
# turn it to a list, as individual characters in strings can't be changed.
mystring_list = list(mystring)
mystring_list[random.randint(0, (len(mystring_list) - 1))] = # add your new
# character value here
# Finally you need to change the list back to its string form. We'll also
# remove all []s and 's plus spaces and commas so it's back to complete string
# format.
mystring = str(mystring_list).replace('[', "").replace(']', "").replace("'",
"").replace(",", "").replace(" ", "")
我想这样就可以了。流程细分:
- mystring 被转换为它所有字符的列表,mystring_list
- 在 Random 模块的帮助下,我们在 mystring_list 中获得了一个随机项目
- 然后那个项目被改变了。
- mystring 然后被设置为 mystring_list 的字符串,删除了 brackets/commas/spaces/apostrophes/quotes。所以基本上是一个字符串。
唯一的错误是,如果原始字符串中有空格,那么它们将在末尾被删除(第 4 步)。如果您不介意原始字符串中每个字符后的奇数空格,那么您可以删除 .replace(" ", "")
,原始空格将被保留。
希望对您有所帮助!