4 回答

TA贡献1820条经验 获得超3个赞
基本上,没有。当您使用 input([prompt]) 时,您的“输入您的年龄:”+“岁”成为提示。输入总是在最后接受值。
我的问题变成了,你真的需要“岁”的部分吗?
你总是可以做这样的事情:
age = input('How old are you?')
print(f'You are {age} years old!')

TA贡献1850条经验 获得超11个赞
实际上是的,但它不太实用:
x = input(" years old \rAge: ") print(x)
这里的技巧是使用\r
(回车) 将光标返回到行首。
请注意,如果用户键入的内容大于给定的空格数,它将覆盖文本“岁”。

TA贡献1802条经验 获得超10个赞
您可以使用 的实现getch从用户读取单个字符。
这是解决方案:
import sys
print("Type your age:", end=" ")
sys.stdout.flush()
c = getch()
print(c + " years old")
首先,你得到:
Type your age: ▯
然后,您按一个字符(您可以使用 2 次调用getch来获取 2 个字符)。它打印:
Type your age: 9 years old
编辑
但是,这样做的经典方法是:
while True:
try:
age = int(input("Type your age: "))
except ValueError:
print("This is not an integer")
print()
else:
if 1 <= age <= 120:
break
print("please, enter your age between 1 and 120 years")
print()
print("You are {age} years old.".format(age=age))

TA贡献1890条经验 获得超9个赞
是的,但您必须学习如何打印、退格和从那里获取输入。处理这个问题的常用方法是准确地表达你的问题:
input("Enter your age in years, a whole number: ")
添加回答
举报