Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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 我的if-else代码有什么问题?_Python - Fatal编程技术网

Python 我的if-else代码有什么问题?

Python 我的if-else代码有什么问题?,python,Python,有人能解释一下我的代码哪里做错了吗? 我正在使用Python 3.6。一个初学者。谢谢 import random dice1 = random.randint(1, 2) user_input = input("Guess a number: ") if dice1 == user_input: print("Well Done!") else: print("Try again") 将输入转换为整数: import random dice1 = random.rand

有人能解释一下我的代码哪里做错了吗? 我正在使用Python 3.6。一个初学者。谢谢

import random

dice1 = random.randint(1, 2)
user_input = input("Guess a number: ")

if dice1 == user_input:
    print("Well Done!")
else:
    print("Try again")

将输入转换为整数:

import random

dice1 = random.randint(1, 2)
user_input = int(input("Guess a number: "))

if dice1 == user_input:
    print("Well Done!")
else:
    print("Try again")

你真正想要的是一个
while循环
,只要你的答案是错误的,它就会不断地询问
隐藏的
号码。正如用户Li357所述,在
Python3
中,输入总是一个字符串,因此您必须将其转换为int。在
Python2
中,您不必输入
int
(仅在本例中)

input()
返回一个字符串,因此在
user\u input
中有一个字符串。在
dice1
中,您有一个。尝试
打印(类型(用户输入))
打印(类型(dice1))
。不能比较不同类型的值

user\u input
中的值转换为
int
,然后将其与
dice1
进行比较,如下所示:

import random

dice1 = random.randint(1, 2)
user_input = input("Guess a number: ")
user_input = int(user_input)
# You could replace the above two user_input statements with:
# user_input = int(input("Guess a number: ")) # Uncomment before using

if dice1 == user_input:
    print("Well Done!")
else:
    print("Try again")
运行上述代码:

Guess a number: 1
Well Done!
>>> 
更多关于:

输入([提示])

如果存在prompt参数,则将其写入标准输出,而不带尾随换行符。然后,函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串


一个数字永远不会等于一个字符串。@Li357在这种情况下,当输入一个数字时,
user\u input
将是int,尽管它是一个字符串,直到它被显式转换(在python 3中)为python 3中可能重复的@user1767754,
input
返回一个字符串,否?请解释否决投票的理由。这是操作的预期效果。op使用的是python 3.6,非常感谢您。这纠正了我的问题。
Guess a number: 1
Well Done!
>>>