Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 将字符串转换为整数以解决Python中的(ValueError:invalid literal for int(),以10为基数:';';)错误消息_Python 3.x_Python 2.7 - Fatal编程技术网

Python 3.x 将字符串转换为整数以解决Python中的(ValueError:invalid literal for int(),以10为基数:';';)错误消息

Python 3.x 将字符串转换为整数以解决Python中的(ValueError:invalid literal for int(),以10为基数:';';)错误消息,python-3.x,python-2.7,Python 3.x,Python 2.7,我有一个python代码,它有不同的函数,代码有不同的函数和主函数。 主要功能如下: def menu(x): print('*'*204) print('{:^204s}'.format(x[0])) print('\n\n') for i in range(1,len(x)): print(str(i)+'.',x[i]) stdout.write('\n\nEnter your Choice:\t') return int(s

我有一个python代码,它有不同的函数,代码有不同的函数和主函数。 主要功能如下:

def menu(x):
    print('*'*204)
    print('{:^204s}'.format(x[0]))
    print('\n\n')
    for i in range(1,len(x)):
        print(str(i)+'.',x[i])
    stdout.write('\n\nEnter your Choice:\t')
    return int(stdin.readline())

def main():
尽管如此:
ch=菜单([‘土壤分析和产量预测’、‘监督学习’、‘无监督学习’、‘退出’)
打印('\n\n')
如果ch==3:
打破
elif ch==1:
Sup()
elif ch==2:
Usup()
其他:
写入('\n无效响应,请重试………\n\n')
#打印(“{:^204s}”。格式(“*”*204))
打印('\n\n')
打印(“{:^204s}”。格式('Authors:\tKshitij Jaiswal,Vibhav,Gaurav Khattar\n'))
打印(“{:^204s}.”格式(“感谢您使用我们的软件”)
如果“名称”=“\uuuuuuuu主要”:
main()
当用户输入1时,将调用某些函数,如果用户输入2,则调用其他函数

当我运行程序时,我遇到以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-11-6292cf16da20> in <module>
     17 
     18 if __name__=='__main__':
---> 19     main()
     20 

<ipython-input-11-6292cf16da20> in main()
      1 def main():
      2     while True:
----> 3         ch = menu(['Soil Analysis and Yield Prediction','Supervised Learning','Unsupervised Learning','Exit'])
      4         print('\n\n')
      5         if ch==3:

<ipython-input-10-2a274c21fe19> in menu(x)
      6         print(str(i)+'.',x[i])
      7     stdout.write('\n\nEnter your Choice:\t')
----> 8     return int(stdin.readline())

ValueError: invalid literal for int() with base 10: ''

我试图返回int(float(stdin.readline()),但它不起作用。请提供任何帮助。

您不需要使用stdout和stdin来实现所需的功能,您可以使用
输入
代替这两个选项:

def menu(x):
    print('*'*204)
    print('{:^204s}'.format(x[0]))
    print('\n\n')
    for i in range(1,len(x)):
        print(str(i)+'.',x[i])
    return int(input('\n\nEnter your Choice:\t'))
如果您通过某种IDE甚至Jupyter运行代码,该程序可能会向您的应用程序发送信号,从而影响您的输入

这就是我在Jupyter笔记本中放入以下循环时发生的情况(直到我停止它):

输出:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
...
还可以查看本文以更好地理解输入和标准输入之间的区别


当代码要求选择时,您输入了什么?\n我无法输入任何内容,因为它在编写预测后立即给了我错误1.监督学习2.非监督学习3.退出输入您的选择:很高兴帮助!如果您你选择它作为接受的答案
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
...