我有一个字符串,表示一个使用逗号分隔数千的数字.如何将其转换为python中的数字?
>>> int("1,000,000")
Run Code Online (Sandbox Code Playgroud)
生成一个ValueError.
在我尝试转换它之前,我可以用空字符串替换逗号,但不知何故感觉不对.有没有更好的办法?
如何在Python中将字符串转换123,456.908为float 123456.908?
我编写了一个程序来解决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) 我尝试使用raw_input()获取数字列表,但是使用代码
numbers = raw_input()
print len(numbers)
Run Code Online (Sandbox Code Playgroud)
输入[1,2,3]给出了结果7,所以我猜它将输入解释为是一个字符串.有没有直接的方法来制作清单?也许我可以re.findall用来提取整数,但如果可能的话,我宁愿使用更多的Pythonic解决方案.
我是整个编码的新手...所以这里.只是想写一个简单的猜数游戏,还要做输入验证.因此只接受整数作为输入.我已经弄清楚如何清除字母字符,所以我可以将数字转换为整数.当我输入一个浮点数时,我遇到了麻烦.我无法让它将浮点数转换为整数.任何帮助表示赞赏.正如我所说,我正在谈论这个编码的第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 = [['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)
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,同时保留数据多列表。
我正在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) 假设我有一个字符串:
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不工作?
感谢致敬