如何在Python中引用字符串的第一个字符

如何在Python中引用字符串的第一个字符,python,string,Python,String,我必须编写一个程序,让某人猜一个介于1-100之间的数字,当他们猜对后,会询问他们是否想再次玩,如果他们输入的第一个字母是“y”或“y”,那么应该重新启动游戏。我在引用字符串“restart”的第一个字母时遇到问题 我试图执行restart.index[0],restart[0],restart([0]),restart.index([0])。这些都对我不起作用,我也不明白这一点 def main(): game() restart = str(input("Do you wan

我必须编写一个程序,让某人猜一个介于1-100之间的数字,当他们猜对后,会询问他们是否想再次玩,如果他们输入的第一个字母是“y”或“y”,那么应该重新启动游戏。我在引用字符串“restart”的第一个字母时遇到问题

我试图执行
restart.index[0]
restart[0]
restart([0])
restart.index([0])
。这些都对我不起作用,我也不明白这一点

def main():
    game()
    restart = str(input("Do you want to play again?"))
    while restart.index([0]) == 'y' or 'Y':
        game()`

它会给我一个类型错误,说
内置函数或方法
对象不可下标。如果我使用
重新启动[0]
,即使我没有输入“y”或“y”,它也会再次运行游戏。

字符串只是一个字符数组(列表),例如:

string = 'Hello World'
可以被认为是:

['H', 'e', 'l', 'l', 'o, ' ', 'W', 'o', 'r', 'l', 'd']
因此,如果要访问第一个字符(索引0),请简单使用:

string[0]

参见第二个比较。您的示例仅使用“Y”而不重新启动[0]==“Y”,导致条件始终为真。

您有两种方法可以尝试,这是:

重新启动[0]=='y'或重新启动[0]=='y'时:
游戏()
或:

重新启动[0]时的
。降低()
游戏()

这些都是正确的,使用

重新启动[0]=='y'或重新启动[0]=='y'时:
或 重新启动[0]时的
。lower()=“y”:

在('y','y')中重新启动[0]
将获得所需的结果

我相信你也可能会遇到这样的问题,你的代码只要求另一个游戏一次。您可以在game()函数中请求重新启动。例如:

def game():
#玩游戏
重新启动=str(输入(“再次?”)
如果重新启动[0]。lower()=“y”:
game()


这样,每次都会问这个问题,您将有一个新的变量,只需执行以下操作:
restart[0]='y'或restart[0]='y'
restart.index[0]。lower()='y'
我同意,但我总是尝试修复错误,而不是改进代码。有时更改整个代码对学习不好。
def main():
    game()
    restart = input("Do you want to play again?")
    while restart[0] == 'y' or restart[0] == 'Y':
        game()