【问题标题】:Newbie problems with printing strings and variables in Python在 Python 中打印字符串和变量的新手问题
【发布时间】:2013-10-07 21:28:09
【问题描述】:

我对编码完全陌生,刚拿到一个 Raspberry Pi,我是从零开始的。我正在尝试一个简单的程序来显示从用户输入中选择的乘法表。下面列出了整个代码 - 如果它邋遢,请见谅

我正在寻找的输出是例如

1 x 5 = 5
2 x 5 = 10
3 x 5 = 15

等等……

我实际得到的是:

(((1, "x"), 5), ' + ') 5)
(((2, "x"), 5), ' + ') 10)
(((3, "x"), 5), ' + ') 15)

等等……

谁能帮我解释一下为什么会这样?我很欣赏代码可能有点邋遢和臃肿。为了实验,我正在尝试使用几种不同的方法来设置变量等。

提前谢谢你 迈克

m = int(1)
z = input ("What table would you like to see?")
t = int(z)
while m <13:
    e = int(m*t)
    sumA = (m, " x ")
    sumB = (sumA, t)
    sumC = (sumB, " + ")
    print (sumC, e)
    m += 1

【问题讨论】:

  • 这是 Python 2 还是 3?我怀疑 Python 3,但您的实际输出中似乎有一个额外的);我希望您的代码打印(((1, "x"), 5), ' + ') 5not (((1, "x"), 5), ' + ') 5)

标签: python variables printing


【解决方案1】:

不要使用元组作为中间变量;只需打印整个内容:

while m <13:
    e = m * t
    print(m, 'x', t, '+', e)
    m += 1

您可能希望使用基于range() 的循环而不是while

z = input ("What table would you like to see?")
t = int(z)
for m in range(1, 13):
    e = m * t
    print(m, 'x', t, '+', e)

注意,没有必要多次调用int()input()的返回值上使用它,否则它是一个字符串。

【讨论】:

  • 好东西谢谢。第二个打印语句正是我需要的。我之前确实尝试过这些方面的东西,但我没有完全正确地使用标点符号。没有意识到我已经创建了元组——不知道它们是什么!也许那是在下一课我会尝试的。
【解决方案2】:
  1. 你不需要在 python 中指定类型。而不是m = int(1),你可以说m= 1e = m* t

  2. 您正在构建元组而不是格式化输出,如果您想格式化 pirntout,这里最简单的方法是使用 format,如 python 文档中所述:http://docs.python.org/2/library/string.html。代码是这样的,

    print("{0} x {1} = {2}".format(m, t, e))
    

【讨论】:

    猜你喜欢
    • 2012-12-12
    • 2015-12-30
    • 1970-01-01
    • 2017-12-15
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    相关资源
    最近更新 更多