如何在hangman gam中添加空格

2024-10-03 19:33:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个游戏,其中一首歌的名字是从一个文件中挑选出来的,标题被下划线替换(除了第一个字母) 不过,我不知道如何在其中添加空格,因为有些歌曲不止一个词,这是我目前的情况:

def QuizStart():
    line = random.choice(open('songnamefile.txt').readlines())      
    line.split('-')
    songname, artist = line.split('-')
    underscoresong = songname
    i=0
    song_name = range(1,len(songname)) 
    for i in song_name:
        if ' ' in song_name:
            i=i+1    
        else:
            underscoresong = underscoresong.replace(songname[i],"_")
            i=i+1
    print(underscoresong, ' - ', artist)

Tags: 文件namein游戏标题songartist字母
1条回答
网友
1楼 · 发布于 2024-10-03 19:33:09

最好在给定的输入示例中包含预期的输出。你知道吗

只需将包含占位符字符的数组相乘n次即可。e、 g.:

songname = 'My blue submarine'

underscoresong = ''.join([songname[0]] + ['_'] * (len(songname) - 1))

print(underscoresong)

输出:

M________________

这将添加第一个字符,然后加下划线,只要歌曲名是减一(第一个字符)。连接将其转换为字符串。你知道吗

或者如果要保留空格:

underscoresong = ''.join(
   [songname[0]] + ['_' if c != ' ' else ' ' for c in songname[1:]]
)

print(underscoresong)

输出:

M_ ____ _________

或者如果您还想保留单引号:

songname = "God's Plan-Drake"

underscoresong = ''.join(
    [songname[0]] +
    ['_' if c not in {' ', "'"} else c for c in songname[1:]]
)

print(underscoresong)

输出:

G__'_ __________

也可以使用正则表达式:

import re

songname = "God's Plan-Drake"

underscoresong = songname[0] + re.sub(r"[^ ']", '_', songname[1:])

print(underscoresong)

输出:

G__'_ __________

相关问题 更多 >