python - 无法将变量转换为整数(因为 if 语句?)
问题描述
很抱歉问,但我正在为过去的论文问题编写一个程序,以查找用户输入的数字是否是素数,然后循环它。
问题是我似乎无法在 if 语句中将输入userno
从 a转换float
为 an int
。
任何帮助将非常感激
run = True
while run == True:
userno = float(input("Please enter a number to check if it's a prime number."))
if userno < 1:
print ("The number entered was lower than 1, so can't be prime.")
else:
int(userno) #this doesn't seem to work
for norange in range (2,userno): #userno is still a float here
if userno % norange == 0:
print ("This is not a prime number, sorry.")
else:
print ("This is a prime number. :)")
runagain = input ("Do you want to enter another number? Please enter 'yes' or 'no'.")
if runagain == "no":
run = False
解决方案
int(userno)
将 userno 作为整数返回,但不会覆盖userno
实际变量的值。
你需要使用userno = int(userno)
推荐阅读
- android - 为什么 Android Studio 不会在 Android Pie (9.0) 上运行应用程序?
- python - python-docx 中的项目符号列表
- python - SonarQube 不扫描 Maven 项目中的其他文件夹
- python - Getargs 格式不是使用实时输入运行 PyAudio 的元组
- python - PyFMI:从结果文件重新启动耦合模拟
- java - 如果对象的大小大于固定大小区域且小于固定大小区域的一半,GC1 如何分配对象?
- clojurescript - 在 ClojureScript 中从另一个命名空间调用函数
- select - Solr 中 More Like This (MLT) 和普通选择查询的区别
- go - Golang 获取系统语言
- ios - Swift iOS 12 Beta UNUserNotification 未触发