Python 在这个练习中,我应该把变量放在哪里?
我做了这个练习,在这个练习中,我打印的句子的结尾必须是符号/字母“p”。 当我运行此程序时,结果如下: 如果我使用数字9:Python 在这个练习中,我应该把变量放在哪里?,python,python-3.x,Python,Python 3.x,我做了这个练习,在这个练习中,我打印的句子的结尾必须是符号/字母“p”。 当我运行此程序时,结果如下: 如果我使用数字9: p q p q p q p p q p 正如你所看到的,“p”总是在句子的开头,但我希望它总是在结尾。像这样的 我认为变量“a”每次必须减少1。虽然,我不知道我会把它放在哪里。 这是密码 number=int((输入()+1)/2-1) i=1 当i=i时: 如果%2==0: 打印(“q”,end=”“) a-=1 如果%2==1: 打印(“p”,end=”“
p q p q
p q p
p q
p
number=int((输入()+1)/2-1)
i=1
当i=i时:
如果%2==0:
打印(“q”,end=”“)
a-=1
如果%2==1:
打印(“p”,end=”“)
a-=1
打印()
i+=1
使用[-1]将“p”放在末尾我对您的代码做了一些更改(使用python 3)
input\u num=int(input())
数字=整数((输入数字+1)/2-1)
def打印行(行长):
如果行长度%2==1:
#从p开始
字母=['p','q']
其他:
#从q开始
字母=['q','p']
对于范围内的i(线长度):
pos=i%2
#打印相关信函
打印(字母[pos],结束=“”)
打印()
对于范围内的n(数字,0,-1):
打印行(n)
我制作了一种方法,知道如何打印特定的行
它接收行长度
,并知道如何打印p和q
如果线的长度是奇数,我们需要从p开始
- 1-p
- 3-pqp
- 5-p q p q p
- 等等
- 2-Qp
- 4-qp-qp
- 6-q p q p q p
- 等等
input = 9
n_lines = 1
i = 1
while i < input:
i += n_lines
n_lines += 1
for line_number in range(n_lines):
number_letters = n_lines - line_number # This will be number of letters: 4, 3, 2, 1
for i in range(number_letters - 1):
print("q", end="")
print("p")
input=9
n_线=1
i=1
当我输入时:
i+=n_线
n_行+=1
对于范围内的行数(n行):
数字字母=n行-行数字这将是字母的数量:4,3,2,1
对于范围内的i(数字字母-1):
打印(“q”,end=”“)
打印(“p”)
我帮你修好了。如果您想查看更改的内容,请检查。如果您使用的是Python 3,input()+1
应该会失败,因为input()
返回一个字符串,并且您不能添加字符串和int。您实际使用的是Python 2吗?如果是这样,那么使用print
作为函数应该会失败,那么看看这里发生了什么。纯粹从逻辑角度来看(忽略@wjandrea指出的input()
问题),如果您希望第一个字符输出发生变化,那么始终使用a=number
启动循环将始终产生相同的字母输出。因此,您必须通过i
改变初始数字,可能从a=i开始(每个循环加1),或者从a=number-i
开始。在哪里?OP代码中没有支持索引的对象。
number = int((input()+1)/2 - 1)
i = 1
while i <= number:
a = number
while a >= i:
if a % 2 == 0:
print("q", end = " ")
a -= 1
elif a % 2 == 1:
print("p", end = " ")
a -= 1
print()
i += 1
input = 9
n_lines = 1
i = 1
while i < input:
i += n_lines
n_lines += 1
for line_number in range(n_lines):
number_letters = n_lines - line_number # This will be number of letters: 4, 3, 2, 1
for i in range(number_letters - 1):
print("q", end="")
print("p")