首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本python编程

基本python编程
EN

Stack Overflow用户
提问于 2013-07-01 01:54:08
回答 3查看 133关注 0票数 0

我不知道哪里出了问题。我告诉我有一个字符串格式错误,其中a = y % 19,然后它还告诉我,当我调用main()时,我的模块有问题。没有关于如何修复这个问题的线索,因为我似乎正确地调用了main()函数,并且string看起来很好。

代码语言:javascript
复制
def main():

    y = input("Enter year: ")
    print ("y = ", y)

    a = y % 19
    print ("a = ", a)

    b = y / 100
    print ("b = ", b)

    c = y % 100
    print ("c = ", c)

    d = b / 4
    print ("d = ", d)

    e = b % 4
    print ("e = ", e)

    g = (8 * b + 13) / 25
    print ("g = ", g)

    h = (19 * a + b - d - g + 15) / 30
    print ("h = ", h)

    j = c / 4
    print ("j = ", j)

    k = c % 4
    print ("k = ", k)

    m = (a + 11 * h) / 319
    print ("m = ", m)

    r = (2 * e + 2 * j - k - h + m + 32)  % 7
    print ("r = ", r)

    n = (h - m + r + 90) / 25
    print ("n = ", n)

    p = (h - m + r + n + 19) % 32
    print ("p = ", p)

    print ("In ", y, "Easter Sunday is on", p,)
    if (n == 3):
        print ("March")
    if (n == 4):
        print ("April")

main()
EN

回答 3

Stack Overflow用户

发布于 2013-07-01 01:56:56

如果是这样的话,第一个问题是y是一个字符串(像"2013"),而不是一个数字(像2013)。%操作对字符串的意义与对数字的意义不同;您必须通过y = int(input('....'))y转换为整数。

不确定模块的问题是什么;您能发布确切的错误消息和运行代码的方式吗?(它是处于空闲状态,通过调用python myscript.py,还是其他什么?)

票数 4
EN

Stack Overflow用户

发布于 2013-07-01 02:01:31

input()返回一个字符串。您可能希望将其转换为x = int(input(...))格式的int

如果您使用的是Python v2.x,那么也可以使用raw_input(),它也返回string,但不计算任何表达式。

有关更多详细信息,请查看here

票数 1
EN

Stack Overflow用户

发布于 2013-07-01 02:03:19

代码语言:javascript
复制
~$ python3 Test.py
Enter year: 2013
y =  2013
Traceback (most recent call last):
  File "Test.py", line 51, in <module>
    main()
  File "Test.py", line 6, in main
    a = y % 19
TypeError: not all arguments converted during string formatting

~$ python2.7 Test.py
Enter year: 2013
('y = ', 2013)
('a = ', 18)
('b = ', 20)
('c = ', 13)
('d = ', 5)
('e = ', 0)
('g = ', 6)
('h = ', 12)
('j = ', 3)
('k = ', 1)
('m = ', 0)
('r = ', 4)
('n = ', 4)
('p = ', 7)
('In ', 2013, 'Easter Sunday is on', 7)
April
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17393207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档