我正在学习使用zyBooks的编程类,因此我不确定(由于此解释器的工作方式)我的问题是我只是在做一些愚蠢的事情还是在zyBooks上不能正常工作。 / p>
它要求我输入基本的用户输入字符串。这些是说明:
使用来自用户输入的字符串分配user_str,并提示:'输入字符串:'
提示-替换?在以下代码中:user_str =?('输入字符串:')
我相信我已经遵循了它给我的指示,但是我遇到了这个错误。谢谢您的帮助!
1
2 '''Your Solution Goes here '''
3 user_str = int(input'Enter a string: '))
4 print()
5
6 print(user_str)
我得到的错误:
Exited with return code 1
Traceback (most recent call last):
File "main.py", line 3, in <module>
user_str = int(input('Enter a string: '))
ValueError: invalid literal for int() with base 10: 'Hello!'
答案 0 :(得分:2)
您不能将Hello!
变成int
。摆脱输入周围的int(...)
。
注意:如果字符串是有效数字,则可以将字符串转换为整数。
答案 1 :(得分:1)
我对您的问题有点困惑,所以我将回答我可以做出的两种解释。
如果要用户输入字符串(例如:Hello World),则要将其另存为字符串,并保存在变量中,因此请忽略将尝试使用的int()
函数(并且失败)将其转换为整数:
user_str = input('Enter a string: ')
如果您想要一个整数(例如:231),问题是您正在要求用户输入字符串,因此更好的解决方案是:
user_str = int(input('Enter a number: '))
或:
user_str = int(input('Enter a integer: '))
这种情况的正确方法是尝试将其转换为整数,如果失败则打印一条消息(可能您尚未在课堂上看到此信息):
correct_inp = False
while not correct_inp:
inp_str = input('Enter a integer: ')
try:
user_str = int(imp_str)
correct_inp = True
except:
print("Ups, this is not an integer, try again")
print(user_str)