Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 尝试转换每个x';将第th个字符转换为大写_Python 3.x - Fatal编程技术网

Python 3.x 尝试转换每个x';将第th个字符转换为大写

Python 3.x 尝试转换每个x';将第th个字符转换为大写,python-3.x,Python 3.x,所以基本上我的家庭作业包括制作一个程序,要求输入一个字符串和一个整数“x”。“x”基本上是这个程序的步骤。首先,它将整个字符串转换为小写,然后字符串的每个“x”字符必须转换为大写。所以如果我输入“Hello World”,我的整数是1。输出为“hElLo wOrLd”。顺便说一下,我是python新手 这就是我现在得到的,我基本上陷入了尝试100件事情的循环中: s = input('Input a string: ') g = input('Input an integer: ') s = s

所以基本上我的家庭作业包括制作一个程序,要求输入一个字符串和一个整数“x”。“x”基本上是这个程序的步骤。首先,它将整个字符串转换为小写,然后字符串的每个“x”字符必须转换为大写。所以如果我输入“Hello World”,我的整数是1。输出为“hElLo wOrLd”。顺便说一下,我是python新手

这就是我现在得到的,我基本上陷入了尝试100件事情的循环中:

s = input('Input a string: ')
g = input('Input an integer: ')
s = s.lower()       #converts the whole string ofc
s = list(s)
range1 = s[::g]
range1 = range1.upper()
print(s)

首先,将
g
转换为
int
,因为
input
返回
str
,不能用
str
列表进行切片,而且,
s[::g]
(应该是
s[g::g+1]
)是
s
的独立子列表,并且它没有对
s
的引用,因此,将其分配到
range1
并对其进行修改不会修改
s
,还有一点需要注意的是,
s[::g]
是一个列表,您应该在其元素上调用
str.upper
,而不是在其本身上,您可以使用
map
实现以下目的:

s = list(input('Input a string: ').lower())
g = int(input('Input an integer: '))
s[g::g + 1] = map(str.upper, s[g::g + 1])
s = ''.join(s)
print(s)
输入:

Input a string: Hello World
Input an integer: 1
输出:

hElLo wOrLd

不是每个第一个字符都意味着所有的大写字母吗?谢谢你,先生!回答得很快。