相关疑难解决方法(0)

如果字符串中有逗号作为千位分隔符,我如何使用Python将字符串转换为数字?

我有一个字符串,表示一个使用逗号分隔数千的数字.如何将其转换为python中的数字?

>>> int("1,000,000")
Run Code Online (Sandbox Code Playgroud)

生成一个ValueError.

在我尝试转换它之前,我可以用空字符串替换逗号,但不知何故感觉不对.有没有更好的办法?

python

76
推荐指数
3
解决办法
4万
查看次数

67
推荐指数
6
解决办法
13万
查看次数

ValueError:具有基数10的int()的无效文字

我编写了一个程序来解决y = a^x,然后将其投影到图表上.问题是每当a < 1我收到错误时:

ValueError:具有基数10的int()的无效文字.

有什么建议?

这是追溯:

Traceback (most recent call last): 
   File "C:\Users\kasutaja\Desktop\EksponentfunktsioonTEST - koopia.py", line 13, in <module> 
   if int(a) < 0: 
ValueError: invalid literal for int() with base 10: '0.3' 
Run Code Online (Sandbox Code Playgroud)

每次我放一个小于1但大于0的数字时就会出现问题.对于这个例子,它是0.3.

这是我的代码:

#  y = a^x

import time
import math
import sys
import os
import subprocess
import matplotlib.pyplot as plt
print ("y = a^x")
print ("")
a = input ("Enter 'a' ")
print ("")
if int(a) < 0:
    print ("'a' is negative, …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

64
推荐指数
3
解决办法
41万
查看次数

获取用户输入的数字列表

我尝试使用raw_input()获取数字列表,但是使用代码

numbers = raw_input()
print len(numbers)
Run Code Online (Sandbox Code Playgroud)

输入[1,2,3]给出了结果7,所以我猜它将输入解释为是一个字符串.有没有直接的方法来制作清单?也许我可以re.findall用来提取整数,但如果可能的话,我宁愿使用更多的Pythonic解决方案.

python list raw-input

50
推荐指数
5
解决办法
41万
查看次数

如何在Python 3中将浮点字符串转换为整数

我是整个编码的新手...所以这里.只是想写一个简单的猜数游戏,还要做输入验证.因此只接受整数作为输入.我已经弄清楚如何清除字母字符,所以我可以将数字转换为整数.当我输入一个浮点数时,我遇到了麻烦.我无法让它将浮点数转换为整数.任何帮助表示赞赏.正如我所说,我正在谈论这个编码的第3天,所以试着理解我的小知识.提前致谢.

这是我的主程序的功能.

def validateInput():
    while True:
        global userGuess
        userGuess = input("Please enter a number from 1 to 100. ")
        if userGuess.isalpha() == False:
            userGuess = int(userGuess)
            print(type(userGuess), "at 'isalpha() == False'")
            break
        elif userGuess.isalpha() == True:
            print("Please enter whole numbers only, no words.")
            print(type(userGuess), "at 'isalpha() == True'")
    return userGuess
Run Code Online (Sandbox Code Playgroud)

如果我使用4.3(或任何浮点数)作为输入,这是我得到的错误.

Traceback (most recent call last):
File "C:\\*******.py\line 58, in <module>
validateInput()
File "C:\\*******.py\line 28, in validateInput
userGuess = int(userGuess)
ValueError: invalid literal for int() with base 10: '4.3'
Run Code Online (Sandbox Code Playgroud)

python data-conversion python-3.x floating-point-conversion

11
推荐指数
1
解决办法
1万
查看次数

在python的嵌套列表中将每个元素从字符串转换为int

我在 python 中有嵌套列表的数据,其中一部分看起来像:

data = [['214', '205', '0', '14', '710', '1813494849', '0'], ['214', '204', '0', '30', '710', '1813494856', '0'], ['214', '204', '0', '34', '710', '1813494863', '0'], ['213', '204', '0', '35', '710', '1813494870', '0'], ['213', '203', '0', '35', '710', '1813494877', '0']]
Run Code Online (Sandbox Code Playgroud)

使用几种方法转换数据时:

1.

 new_data_list = [[int(x) for x in list] for list in data]
Run Code Online (Sandbox Code Playgroud)
  1. list=[]
    for i in range(0,len(data)):
        list.append([])
        for j in range(0,len(data[i])):
            b=int(data[i][j])
            list[i].append(b)
    
    Run Code Online (Sandbox Code Playgroud)

    我收到错误消息:

ValueError:int() 的无效文字以 10 为基数:''

我的数据列表中没有非数字数据。但是标题可能有一些东西,比如一个空标题被视为非数字值,因为我已经从 csv 创建了一个数据列表。

我想知道一种有效的方法,可以将列表的每个元素转换为 int,同时保留数据多列表。

python nested-lists python-2.7 data-structures python-3.x

6
推荐指数
1
解决办法
7655
查看次数

Django对基数为10的int()的文字无效

我正在Django中编写一个简单的搜索结果页面.

用户按文本搜索并从下拉列表中添加城市字段.

查询如下:

if 'query' in request.GET and request.GET['query']:
    city = request.GET['city']
    q = request.GET['query']
    ct = Classified.objects.filter(name__icontains=q).filter(city__exact=city)
    return render(request, 'template/search.html', {'ct': ct, 'query': q})
Run Code Online (Sandbox Code Playgroud)

分类的模型如下:

class Classified(models.Model):
    name = models.CharField(max_length=256, unique=True)
    email = models.CharField(max_length=100)
    category = models.ForeignKey(Categories)
    phone_number = models.IntegerField(max_length=10, default=0)
    address = models.CharField(max_length=1000)
    id = models.IntegerField(primary_key=True)
    city = models.ForeignKey(Cities)
    image = models.ImageField(blank=True, upload_to='static/img/')

    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

城市如下:

class Cities(models.Model):
    name = models.CharField(max_length=256)

    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

在搜索时,/ search /页面给出了以下错误:

invalid literal for int() with base 10: 'Searched-city' …
Run Code Online (Sandbox Code Playgroud)

python django

2
推荐指数
1
解决办法
6186
查看次数

为什么int(float(str))工作但int(str)不起作用

假设我有一个字符串:

temp = "0.1"
Run Code Online (Sandbox Code Playgroud)

当我跑int(temp):

我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '0.1'
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时int(float(temp)):

我得到正确的输出即 0


为什么转换float然后转换为int工作但直接转换为int不工作?

感谢致敬

python int type-conversion

1
推荐指数
1
解决办法
158
查看次数