Py学习  »  Python

无法在python中更改变量的值,if语句

wilberox • 4 年前 • 730 次点击  

ageRisk 应该从0更改为0.004

age = raw_input("Enter your age: ")

ageRisk = 0

if age >= 40 and age < 50:
    ageRisk = 0.004

print ageRisk

但是当我运行这个脚本时,输入44 raw_input ,的值 阿格里克 保持在0。这是为什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55866
 
730 次点击  
文章 [ 4 ]  |  最新文章 4 年前
ALS777
Reply   •   1 楼
ALS777    4 年前

您的原始输入将数字作为字符串接收。若要解决此问题,请将输入转换为整数。

age = int(input("Enter your age: "))
Peritract
Reply   •   2 楼
Peritract    4 年前

在Python 2中, raw_input() 返回 string ,不是整数。

你需要把你的 在一个 int() 调用以转换它。

int(raw_input())

sconfluentus
Reply   •   3 楼
sconfluentus    4 年前

尝试更改此:

age = raw_input("Enter your age: ")

age = int(raw_input("Enter your age: "))

输入的默认值是将所有内容都视为字符串,如果未转换,则逻辑上看不到重新分配值所需的数值。

Ayush Garg
Reply   •   4 楼
Ayush Garg    4 年前

这是因为用户的输入是 . 要解决这个问题,请更改您的线路 age = raw_input("Enter your age: ") 进入之内 age = int(raw_input("Enter your age: "))