我检查了其他问题,但这些问题似乎对我没有帮助,所以我决定问。
我的代码从我的文件中创建了一个随机变量(必要) 我想打印出变量附带的字符串,但是我只希望它打印出字符串的第一个字母。
E.G。这是一首歌曲名称,例如“奶酪”,我只想要“ C ?????”待打印,但由于我是新编码员,所以我不确定如何解决此问题。
我试图单独在字符串中包含单词,因为以前它带有艺术家名称,但是我删除了它,所以它只是1个单词,因为它对于初学者来说更容易拆分。
import random
EFile=open("ExternalFile.txt","w+")
Info1=("Shotgun")
Info2=("God's Plan")
Info3=("This is me")
Info4=("Solo")
Info5=("Psyco")
EFile.write(Info1)
EFile.write(Info2)
EFile.write(Info3)
EFile.write(Info4)
EFile.write(Info5)
EFile.close
Array=[Info1, Info2, Info3, Info4, Info5]
RanVar=random.choice(Array)
print(RanVar)
这部分代码运行良好,并且可以随机选择一个变量,但是我需要对变量“ Info”进行攻击的字符串仅输出第一个字母,并在可能的情况下输出其余单词作为问号。
如果这对于初学者来说太复杂了,我希望它只是第一个字母。
答案 0 :(得分:2)
您可以只使用RanVar[0]
写第一个字母,然后通过写“?”来写其余字母。比使用代码RanVar
的{{1}}的总长度少1个时间。然后,将它们与'?'*(len(RanVar)-1)
+
答案 1 :(得分:1)
使用for循环处理1#
content=["Shotgun","God's Plan","This is me","Solo","Psyco"]
chars=[]
for y in content:
chars.append(y[0])
print(chars)
方法2#列表理解
content=["Shotgun","God's Plan","This is me","Solo","Psyco"]
chars=[y[0] for y in content ]
print(chars)
答案 2 :(得分:1)
Python将每个字符串视为一个数组。您可以打印字母及其索引。下面的代码甚至可以更简单(我可以轻松选择要打印的字母)
import random
EFile=open("ExternalFile.txt","w+")
Info = ["Shotgun","God's Plan","This is me","Solo","Psyco"]
for w in Info:
EFile.write(w)
EFile.close
RanVar=random.choice(Info)
for i, letter in enumerate(RanVar):
if i == 0:
print (letter, end ="")
else:
print ('?', end ="")
print ('\n')